1. Bug

Pemrogram memiliki bahasa gaul mereka sendiri, meskipun banyak yang menganggapnya sebagai jargon teknis. Bagaimanapun, Anda tidak dapat menghindari untuk mengetahuinya. Anda perlu menyelami detailnya. Jadi mari selami.

Salah satu kata pertama yang akan Anda ketahui adalah " bug ", yaitu serangga . Dalam konteks pengembangan perangkat lunak, kata ini berarti kesalahan dalam suatu program, contoh program melakukan sesuatu yang salah atau kurang tepat. Atau hanya bekerja dengan aneh.

Tetapi jika seorang pemrogram berpikir bahwa program tersebut, terlepas dari perilakunya yang aneh, melakukan persis seperti yang seharusnya, maka dia biasanya mendeklarasikan sesuatu seperti "ini bukan bug, ini fitur". Yang telah melahirkan banyak meme internet.

Secara umum, ada sejumlah alasan untuk cacat perangkat lunak: mulai dari kesalahan dalam logika program, kesalahan ketik, dan arsitektur program yang salah, hingga masalah dalam kompiler. Bagaimanapun, pemrogram perlu memperbaiki bug nyata dan "kekurangan" lainnya dalam program mereka.

Sejarah kata "bug"

Versi paling umum dari asal kata "bug" adalah semacam legenda.

Pada bulan September 1945, para ilmuwan di Universitas Harvard menguji salah satu komputer pertama, Mark II. Komputer tidak berfungsi dengan baik, dan dalam proses memeriksa semua papan, mereka menemukan ngengat tersangkut di antara kontak relai elektromekanis.

Serangga yang diekstraksi ditempelkan ke dalam log teknis, disertai dengan tulisan ini: "Kasus bug aktual pertama ditemukan."

Cerita lucu ini diyakini sebagai awal dari penggunaan kata " bug " yang berarti kesalahan, dan kata " debug " menjadi sinonim dengan menghilangkan bug.


2. Men-debug program

Untuk memperbaiki bug dalam program mereka, pemrogram menggunakan program khusus yang disebut debugger . Beberapa dari program ini bahkan mengetahui cara men-debug kode mesin.

Pemrogram Java menggunakan IDE untuk men-debug program mereka. Seperti IntelliJ IDEA, Eclipse, dan NetBeans. IntelliJ IDEA sejauh ini merupakan IDE yang paling kuat, jadi kita akan menjalani proses debug dengan menggunakannya sebagai contoh.

IntelliJ IDEA dapat menjalankan program Anda dalam dua mode:

Mode eksekusi Ikon bilah alat Hotkey
Eksekusi biasa Shift+F10
Mulai dalam mode debug Shift+F9

Anda sudah terbiasa dengan eksekusi normal: program mulai, berjalan, dan keluar. Tetapi mode debug memiliki banyak kejutan untuk Anda.

Modus debug

Mode debug memungkinkan Anda berjalan selangkah demi selangkah melalui seluruh program Anda. Atau lebih tepatnya, ini memungkinkan Anda berpindah baris demi baris . Terlebih lagi, Anda dapat mengamati nilai variabel di setiap langkah program (setelah setiap baris kode dijalankan). Dan Anda bahkan dapat mengubah nilainya!

Untuk mendapatkan pemahaman minimal tentang debugging sebuah program, Anda perlu mempelajari tiga hal:

  • Breakpoint
  • Eksekusi langkah demi langkah
  • Memeriksa nilai variabel

3. Breakpoint

IDE memungkinkan Anda menempatkan penanda khusus yang disebut breakpoint dalam kode Anda. Setiap kali program yang berjalan dalam mode debug mencapai garis yang ditandai dengan breakpoint , eksekusi akan dijeda.

Untuk meletakkan breakpoint pada baris tertentu, Anda hanya perlu mengklik di sebelah kiri baris di IDEA. Contoh:

Breakpoint IntelliJ IDEA

Garis akan ditandai dengan breakpoint, dan IntelliJ IDEA akan menyorotnya dengan warna merah:

ditandai dengan break point

Klik mouse kedua pada panel di sebelah kiri kode akan menghapus breakpoint .

Breakpoint juga dapat ditempatkan pada baris saat ini hanya dengan menggunakan kombinasi hotkeyCtrl + F8. Menekan Ctrl+ F8lagi pada baris yang sudah memiliki breakpoint akan menghapusnya.


4. Mulai program dalam mode debug

Jika Anda memiliki setidaknya satu breakpoint dalam program Anda, Anda dapat menjalankan program dalam mode debug dengan menekan Shift+ F9atau mengklik "ikon bug".

Setelah memulai dalam mode debug, program berjalan seperti biasa. Tapi begitu mencapai baris kode yang ditandai dengan breakpoint , itu akan berhenti. Contoh:

Mulai program dalam mode debug

Di bagian atas tangkapan layar, Anda melihat kode program dengan dua breakpoint. Eksekusi program berhenti pada baris 5 yang ditandai dengan garis biru. Baris 5 belum dijalankan: belum ada yang dikeluarkan ke konsol.

Di bagian bawah layar, Anda melihat panel debug: panel Debugger , panel Konsol  , dan satu set tombol untuk mode debug.

Anda dapat membatalkan jeda program Anda (yaitu melanjutkan eksekusi) dengan menekan tombol Lanjutkan Program di panel kiri bawah (atau tekan F9).

Mulai program dalam mode debug 3

Jika Anda menekan tombol ini (atau F9), program akan terus berjalan hingga mencapai breakpoint berikutnya atau berakhir. Inilah yang kami lihat setelah mengklik tombol:

Mulai program dalam mode debug 4

Program berhenti di breakpoint kedua, dan kata-kata Hellodan anddapat dilihat di konsol. Ini adalah tanda bahwa kita hanya mengeksekusi dua dari tiga baris yang menampilkan keluaran di layar.


5. Eksekusi langkah demi langkah

Jika program Anda berjalan dalam mode debug, Anda juga dapat melewatinya: one step is one line . Ada dua hotkey untuk eksekusi langkah demi langkah: F7dan F8: masing-masing menyebabkan baris kode saat ini dieksekusi. Tapi pertama-tama, Anda masih harus menghentikan program Anda dengan breakpoint .

Jika Anda ingin menjalankan program baris demi baris, Anda perlu meletakkan breakpoint di awal metode main()dan menjalankannya dalam mode debug.

Saat program berhenti, Anda dapat mulai menjalankannya baris demi baris. Satu tekan F8tombol mengeksekusi satu baris.

Seperti inilah tampilan program kami setelah berhenti dan kami menekan tombol F8sekali:

Mulai program dalam mode debug.  Eksekusi langkah demi langkah

Baris pertama dari metode utama telah dieksekusi, dan baris saat ini adalah baris kedua. Anda juga dapat melihat di bagian bawah tangkapan layar bahwa kata tersebut Hellosudah ditampilkan di layar.


6. Eksekusi langkah demi langkah dengan melangkah ke metode

Jika Anda telah menulis metode Anda sendiri dalam program dan Anda ingin eksekusi masuk ke dalam metode Anda dalam mode debug, yaitu Anda ingin "masuk ke metode", maka Anda perlu menekan F7daripada F8.

Katakanlah Anda melewati program dan sekarang berhenti di baris 4. Jika Anda menekan F8, IDEA hanya akan menjalankan baris keempat dan melanjutkan ke baris kelima.

Eksekusi langkah demi langkah dengan melangkah ke metode 2

Tetapi jika Anda menekan F7, IDEA akan masuk ke main2()metode:

Eksekusi langkah demi langkah dengan melangkah ke metode 3

Ini sangat sederhana. Jika Anda tidak terlalu peduli dengan apa yang terjadi di dalam suatu metode atau bagaimana, maka Anda menekan F8. Jika penting, tekan F7dan telusuri semua kodenya.