Ide Intellij - Debugging

Debugger membuat proses debug aplikasi menjadi lebih mudah. Menggunakan debugger, kita dapat menghentikan eksekusi program pada titik tertentu, memeriksa variabel, masuk ke fungsi dan melakukan banyak hal. IntelliJ menyediakan debugger Java bawaan.

Breakpoints

Breakpoint memungkinkan penghentian eksekusi program pada titik tertentu. Breakpoints dapat diatur dengan mengarahkan mouse ke area selokan Editor dan mengkliknya.

Breakpoints dilambangkan dengan simbol lingkaran merah. Pertimbangkan breakpoint yang ditetapkan pada baris 3.

Pertimbangkan langkah-langkah berikut untuk memahami lebih lanjut tentang cara kerja breakpoint -

  • Klik kanan pada simbol lingkaran merah.

  • Pilih More pilihan.

  • Untuk menghapus breakpoint cukup klik pada simbol yang sama.

Ikuti langkah-langkah berikut untuk memulai debugger -

  • Arahkan ke menu Run.
  • Pilih opsi Debug.

Melangkah ke

Saat men-debug, jika suatu fungsi ditemukan dan langkah menuju tindakan dipilih, maka debugger akan menghentikan eksekusi program di setiap titik fungsi itu seolah-olah debugging diaktifkan untuk fungsi itu.

Misalnya, ketika eksekusi program mencapai pada baris 9 dan jika kita memilih langkah ke tindakan maka itu menghentikan eksekusi pada setiap baris di sayGoodBye() fungsi.

Melangkah keluar

Tindakan Step out adalah kebalikan dari tindakan Step out. Misalnya, jika Anda melakukan tindakan step out dengan skenario di atas maka debugger akan kembali darisayGoodBye() metode dan mulai eksekusi pada baris 10.

Langkah selesai

Tindakan Step over tidak masuk ke fungsi sebagai gantinya, itu akan melompat ke baris kode berikutnya. Misalnya, jika Anda berada di baris 9 dan menjalankan tindakan step over maka eksekusi akan dipindahkan ke baris 10.

Lanjutkan Program

Tindakan Resume Program akan melanjutkan eksekusi program dengan mengabaikan semua breakpoint.

Hentikan tindakan

Tindakan Stop membantu menghentikan debugger.

Langkah cerdas ke dalam

Saat melakukan debug, terkadang kami mencapai baris kode yang memanggil beberapa metode. Saat men-debug baris kode ini, debugger biasanya mengizinkan kita untuk menggunakanstep intodan menuntun kita melalui semua fungsi anak dan kemudian kembali ke fungsi induk. Namun, bagaimana jika kita hanya ingin melangkah ke satu fungsi anak? Dengan Smart step-into, ini memungkinkan kita memilih fungsi untuk dimasuki.

Sekarang, mari kita buat kelas Java dengan baris kode berikut -

public class HelloWorld {
   public static void main(String[] args) {
      allFunctions();
   }
   static void allFunctions() {
      System.out.println(function1() + " " + function2() + " " + function3());
   }
   static String function1() {
      return "function1";
   }
   static String function2() {
      return "function2";
   }
   static String function3() {
      return "function3";
   }
}

Pada kode di atas, allFunctions()memanggil 3 fungsi lainnya. Mari kita atur breakpoint pada fungsi ini. Ikuti langkah-langkah berikut untuk melakukan langkah cerdas ke -

  • Pergi berlari
  • Pilih langkah cerdas ke dalam.
  • Pilih fungsi anak untuk pergi.

Memeriksa variabel

Selama debugging, IntelliJ menunjukkan nilai variabel di jendela Editor itu sendiri. Kami juga dapat melihat informasi yang sama di jendela Debug.

Evaluasi ekspresi

Evaluasi ekspresi memungkinkan untuk mengevaluasi ekspresi dengan cepat. Ikuti langkah-langkah ini untuk melakukan tindakan ini -

  • Mulai aplikasi di debugger

  • Navigasi ke Run->Evaluate ekspresi.

  • Masukkan ekspresi. Dalam contoh yang diberikan di bawah ini, nilai variabel 'i' saat ini adalah 0; karenanya, ekspresi 'i> 100' akan dievaluasi sebagai salah