1. Bug

Programer duwe slang dhewe, sanajan akeh sing nganggep minangka jargon teknis. Ing kasus apa wae, sampeyan ora bisa ngindhari ngerteni. Sampeyan kudu nyilem menyang rinci. Dadi ayo nyilem.

Salah sawijining tembung pisanan sing bakal sampeyan kenal yaiku " bug " , yaiku serangga . Ing konteks pangembangan piranti lunak, tembung iki tegese kesalahan ing program, conto program sing nindakake kesalahan utawa ora bener. Utawa mung kerja aneh.

Nanging yen programmer nganggep program kasebut, sanajan prilaku aneh, nindakake apa sing kudu ditindakake, mula dheweke biasane nyatakake kaya "iku dudu bug, iku fitur". Sing wis ngasilake pirang-pirang meme internet.

Umumé, bisa uga ana sawetara alasan kanggo cacat piranti lunak: apa wae saka kesalahan ing logika program, typo, lan arsitektur program sing ora bener, nganti masalah ing kompiler. Ing kasus apa wae, programer kudu ndandani bug nyata lan "kekurangan" liyane ing program kasebut.

Sejarah tembung "bug"

Versi sing paling umum saka asal saka tembung "bug" yaiku legenda.

Ing wulan September 1945, para ilmuwan ing Universitas Harvard nguji salah sawijining komputer pisanan, Mark II. Komputer ora bisa digunakake kanthi bener, lan nalika mriksa kabeh papan, dheweke nemokake moth sing macet ing antarane kontak relay elektromekanis.

Serangga sing diekstrak kasebut ditempelake ing log teknis, diiringi tulisan iki: "Kasus nyata pisanan ditemokake bug."

Crita lucu iki dipercaya minangka wiwitan panggunaan tembung " bug " sing tegese kesalahan, lan tembung " debug " wis dadi sinonim kanggo ngilangi bug.


2. Debugging program

Kanggo ndandani bug ing program kasebut, programer nggunakake program khusus sing diarani debugger . Sawetara program iki malah ngerti carane debug kode mesin.

Programer Java nggunakake IDE kanggo debugging program. Kayata IntelliJ IDEA, Eclipse, lan NetBeans. IntelliJ IDEA minangka IDE sing paling kuat, mula kita bakal ngliwati proses debugging kanthi nggunakake minangka conto.

IntelliJ IDEA bisa mbukak program ing rong mode:

Mode eksekusi Ikon toolbar Hotkeys
Eksekusi normal Shift+F10
Miwiti ing mode debug Shift+F9

Sampeyan wis ngerti eksekusi normal: program diwiwiti, mlaku, lan metu. Nanging mode debug duwe akeh kejutan kanggo sampeyan.

Mode debug

Mode debug ngidini sampeyan mlaku langkah demi langkah ing kabeh program. Utawa luwih akurat, ngijini sampeyan mindhah baris dening baris . Apa maneh, sampeyan bisa mirsani nilai-nilai variabel ing saben langkah program (sawise saben baris kode dieksekusi). Lan sampeyan malah bisa ngganti nilai sing!

Kanggo entuk pemahaman minimal babagan debugging program, sampeyan kudu sinau telung perkara:

  • Breakpoints
  • Langkah-langkah eksekusi
  • Inspeksi nilai variabel

3. Breakpoints

IDE ngijini sampeyan nyelehake tandha khusus sing disebut breakpoints ing kode sampeyan. Saben program sing mlaku ing mode debug tekan garis sing ditandhani breakpoint , eksekusi bakal ngaso.

Kanggo nyelehake breakpoint ing baris tartamtu, sampeyan mung kudu ngeklik ing sisih kiwa baris ing IDEA. Tuladha:

Breakpoints IntelliJ IDEA

Baris kasebut bakal ditandhani karo breakpoint, lan IntelliJ IDEA bakal nyorot kanthi warna abang:

ditandhani karo breakpoint

Klik mouse kaping pindho ing panel sisih kiwa kode bakal mbusak breakpoint .

A breakpoint uga bisa diselehake ing baris saiki mung nggunakake kombinasi hotkey Ctrl+ F8. Pencet Ctrl+ F8maneh ing baris sing wis ana breakpoint bakal mbusak.


4. Miwiti program ing mode debug

Yen sampeyan duwe paling ora siji breakpoint ing program, sampeyan bisa mbukak program ing mode debug kanthi mencet Shift+ F9utawa ngeklik "lambang bug".

Sawise miwiti ing mode debug, program mlaku kaya biasane. Nanging sanalika tekan baris kode sing ditandhani karo breakpoint , iku bakal ngaso. Tuladha:

Miwiti program ing mode debug

Ing sisih ndhuwur gambar, sampeyan bisa ndeleng kode program kanthi rong breakpoints. Eksekusi program mandheg ing baris 5, sing ditandhani karo garis biru. Baris 5 durung dieksekusi: durung ana output kanggo konsol.

Ing sisih ngisor layar, sampeyan bisa ndeleng panel debug: panel Debugger , panel Console  , lan sakumpulan tombol kanggo mode debug.

Sampeyan bisa mbatalake program sampeyan (yaiku nerusake eksekusi) kanthi mencet tombol Resume Program ing panel kiwa ngisor (utawa pencet F9).

Miwiti program ing mode debug 3

Yen sampeyan menet tombol iki (utawa F9), program bakal terus mbukak nganti ketemu breakpoint sabanjuré utawa ends. Mangkene apa sing kita deleng sawise ngeklik tombol:

Miwiti program ing mode debug 4

Program mandegake ing breakpoint kapindho, lan tembung Hellolan andbisa katon ing console. Iki minangka tandha yen kita mung nglakokake loro saka telung garis sing nampilake output ing layar.


5. Langkah-langkah eksekusi

Yen program sampeyan mlaku ing mode debug, sampeyan uga bisa ngliwati: siji langkah siji baris . Ana rong hotkeys kanggo eksekusi langkah-langkah: F7lan F8: saben nyebabake baris kode saiki dieksekusi. Nanging pisanan, sampeyan isih kudu mungkasi program kanthi breakpoint .

Yen sampeyan pengin nglakokaké program baris dening baris, sampeyan kudu sijine breakpoint ing wiwitan cara main()lan mbukak ing mode debug.

Nalika program mandheg, sampeyan bisa miwiti nglakokaké baris dening baris. Siji pencet tombol F8nglakokake siji baris.

Iki kaya program kita sawise mandheg lan kita mencet tombol F8sapisan:

Miwiti program ing mode debug.  Langkah-langkah eksekusi

Baris pisanan saka cara utama wis dieksekusi, lan baris saiki minangka baris kapindho. Sampeyan uga bisa ndeleng ing sisih ngisor gambar yen tembung kasebut Hellowis ditampilake ing layar.


6. Langkah-langkah eksekusi kanthi langkah menyang metode

Yen sampeyan wis nulis cara sampeyan dhewe ing program kasebut lan sampeyan pengin eksekusi mlebu ing metode sampeyan ing mode debug, yaiku sampeyan pengin "langkah menyang metode", sampeyan kudu mencet F7tinimbang F8.

Ayo dadi ngomong sampeyan langkah liwat program lan saiki mandheg ing baris 4. Yen sampeyan menet F8, IDEA mung bakal nglakokaké baris papat lan pindhah menyang kalima.

Eksekusi langkah-langkah kanthi langkah menyang metode 2

Nanging yen sampeyan menet F7, IDEA bakal pindhah menyang main2()cara:

Eksekusi langkah-langkah kanthi langkah menyang metode 3

Iku banget prasaja. Yen sampeyan ora preduli apa sing kedadeyan ing cara utawa kepiye, banjur pencet F8. Yen penting, banjur pencet F7lan tindakake kabeh kode.