1. Pepijat

Pengaturcara mempunyai slanga mereka sendiri, walaupun ramai yang menganggapnya sebagai jargon teknikal. Walau apa pun, anda tidak boleh mengelak daripada mengenalinya. Anda perlu menyelami butirannya. Jadi mari kita menyelam.

Salah satu perkataan pertama yang anda akan ketahui ialah " pepijat " iaitu serangga . Dalam konteks pembangunan perisian, perkataan ini bermaksud ralat dalam program, contoh program melakukan sesuatu yang salah atau tidak betul. Atau hanya bekerja secara pelik.

Tetapi jika seorang pengaturcara berpendapat bahawa program itu, walaupun tingkah lakunya yang ganjil, melakukan apa yang sepatutnya, maka dia biasanya mengisytiharkan sesuatu seperti "ia bukan pepijat, ia adalah ciri". Yang telah melahirkan sekumpulan meme internet.

Secara umum, terdapat beberapa sebab untuk kecacatan perisian: apa-apa daripada ralat dalam logik program, kesilapan menaip dan seni bina program yang salah, sehinggalah kepada masalah dalam pengkompil. Walau apa pun, pengaturcara perlu membetulkan kedua-dua pepijat sebenar dan sebarang "kekurangan" lain dalam program mereka.

Sejarah perkataan "bug"

Versi asal perkataan "pepijat" yang paling biasa ialah sesuatu yang legenda.

Pada September 1945, saintis di Universiti Harvard sedang menguji salah satu komputer pertama, Mark II. Komputer tidak berfungsi dengan betul, dan dalam proses memeriksa semua papan, mereka mendapati seekor rama-rama tersangkut di antara sentuhan geganti elektromekanikal.

Serangga yang diekstrak telah dirakamkan ke dalam log teknikal, disertai dengan tulisan ini: "Kes sebenar pertama pepijat ditemui."

Cerita lucu ini dipercayai sebagai permulaan penggunaan perkataan " pepijat " yang bermaksud ralat, dan perkataan " nyahpepijat " telah menjadi sinonim dengan menghapuskan pepijat.


2. Menyahpepijat atur cara

Untuk membetulkan pepijat dalam program mereka, pengaturcara menggunakan program khas yang dipanggil penyahpepijat . Sesetengah atur cara ini juga tahu cara menyahpepijat kod mesin.

Pengaturcara Java menggunakan IDE untuk menyahpepijat program mereka. Seperti IntelliJ IDEA, Eclipse dan NetBeans. IntelliJ IDEA setakat ini adalah IDE yang paling berkuasa, jadi kami akan menjalankan proses penyahpepijatan menggunakannya sebagai contoh.

IntelliJ IDEA boleh menjalankan program anda dalam dua mod:

Mod pelaksanaan ikon bar alat Kekunci panas
Pelaksanaan biasa Shift+F10
Mulakan dalam mod nyahpepijat Shift+F9

Anda sudah biasa dengan pelaksanaan biasa: program bermula, berjalan dan keluar. Tetapi mod nyahpepijat mempunyai banyak kejutan untuk anda.

Mod nyahpepijat

Mod nyahpepijat membolehkan anda berjalan langkah demi langkah melalui keseluruhan program anda. Atau lebih tepat lagi, ia membolehkan anda bergerak baris demi baris . Lebih-lebih lagi, anda boleh melihat nilai pembolehubah pada setiap langkah program (selepas setiap baris kod dilaksanakan). Dan anda juga boleh menukar nilai mereka!

Untuk mendapatkan pemahaman yang minimum tentang penyahpepijatan program, anda perlu mempelajari tiga perkara:

  • Titik putus
  • Pelaksanaan langkah demi langkah
  • Memeriksa nilai pembolehubah

3. Titik putus

IDE membolehkan anda meletakkan penanda khas yang dipanggil titik putus dalam kod anda. Setiap kali program yang berjalan dalam mod nyahpepijat mencapai garis yang ditandai dengan titik putus , pelaksanaan akan dijeda.

Untuk meletakkan titik putus pada baris tertentu, anda hanya perlu klik di sebelah kiri baris dalam IDEA. Contoh:

Titik Putus IntelliJ IDEA

Garis akan ditandakan dengan titik putus dan IntelliJ IDEA akan menyerlahkannya dengan warna merah:

ditandai dengan titik putus

Klik tetikus kedua pada anak tetingkap di sebelah kiri kod akan mengalih keluar titik putus .

Titik putus juga boleh diletakkan pada baris semasa hanya dengan menggunakan kombinasi hotkey Ctrl+ F8. Menekan Ctrl+ F8sekali lagi pada baris yang sudah mempunyai titik putus akan memadamkannya.


4. Mulakan program dalam mod nyahpepijat

Jika anda mempunyai sekurang-kurangnya satu titik putus dalam program anda, anda boleh menjalankan program dalam mod nyahpepijat dengan menekan Shift+ F9atau mengklik "ikon pepijat".

Selepas bermula dalam mod nyahpepijat, program berjalan seperti biasa. Tetapi sebaik sahaja ia mencapai baris kod yang ditandai dengan titik putus , ia akan dijeda. Contoh:

Mulakan program dalam mod nyahpepijat

Di bahagian atas tangkapan skrin, anda melihat kod program dengan dua titik putus. Pelaksanaan program dihentikan pada baris 5, yang ditandai dengan garis biru. Baris 5 belum dilaksanakan lagi: tiada apa yang telah dikeluarkan ke konsol lagi.

Di bahagian bawah skrin, anda melihat anak tetingkap nyahpepijat: anak tetingkap Penyahpepijat , anak tetingkap Konsol  dan satu set butang untuk mod nyahpepijat.

Anda boleh menyahjeda program anda (iaitu meneruskan pelaksanaan) dengan menekan butang Resume Program di bahagian bawah anak tetingkap kiri (atau tekan F9).

Mulakan program dalam mod nyahpepijat 3

Jika anda menekan butang ini (atau F9), program akan terus berjalan sehingga ia menemui titik putus atau tamat seterusnya. Inilah yang kita lihat selepas mengklik butang:

Mulakan program dalam mod nyahpepijat 4

Program ini berhenti pada titik putus kedua, dan perkataan Hellodan andboleh dilihat dalam konsol. Ini adalah tanda bahawa kami telah melaksanakan hanya dua daripada tiga baris yang memaparkan output pada skrin.


5. Pelaksanaan langkah demi langkah

Jika program anda berjalan dalam mod nyahpepijat, anda juga boleh melaluinya: satu langkah ialah satu baris . Terdapat dua kekunci panas untuk pelaksanaan langkah demi langkah: F7dan F8: setiap satu menyebabkan baris kod semasa dilaksanakan. Tetapi pertama sekali, anda masih perlu menghentikan program anda dengan titik putus .

Jika anda ingin melaksanakan program anda baris demi baris, anda perlu meletakkan titik putus pada permulaan kaedah main()dan menjalankannya dalam mod nyahpepijat.

Apabila program berhenti, anda boleh mula melaksanakannya baris demi baris. Satu tekan kekunci F8melaksanakan satu baris.

Inilah rupa program kami selepas ia berhenti dan kami menekan F8kekunci sekali:

Mulakan program dalam mod nyahpepijat.  Pelaksanaan langkah demi langkah

Baris pertama kaedah utama telah pun dilaksanakan, dan baris semasa ialah baris kedua. Anda juga boleh melihat di bahagian bawah tangkapan skrin bahawa perkataan itu Hellosudah dipaparkan pada skrin.


6. Pelaksanaan langkah demi langkah dengan melangkah ke kaedah

Jika anda telah menulis kaedah anda sendiri dalam program dan anda mahu pelaksanaan masuk ke dalam kaedah anda dalam mod nyahpepijat, iaitu anda ingin "melangkah ke dalam kaedah", maka anda perlu menekan F7daripada F8.

Katakan anda melangkah melalui program dan kini dihentikan pada baris 4. Jika anda menekan F8, IDEA hanya akan melaksanakan baris keempat dan beralih ke baris kelima.

Pelaksanaan langkah demi langkah dengan melangkah ke kaedah 2

Tetapi jika anda menekan F7, IDEA akan melangkah ke main2()kaedah:

Pelaksanaan langkah demi langkah dengan melangkah ke kaedah 3

Ia sangat mudah. Jika anda tidak begitu peduli apa yang berlaku dalam kaedah atau bagaimana, maka anda tekan F8. Jika ia penting, kemudian tekan F7dan langkah melalui semua kodnya.