JDB - Pendahuluan
Debugging adalah prosedur teknis untuk menemukan dan menghapus bug atau cacat dalam program dan mendapatkan hasil yang diharapkan. Debugging termasuk pengujian dan pemantauan. Ini sangat kompleks ketika subunit program digabungkan dengan erat. Kita bisa men-debug program menggunakan alat debugger yang mengikuti API yang ditentukan. Debugger memungkinkan Anda melangkah melalui setiap aspek kode, memeriksa semua elemen, dan menghapus kesalahan, jika ada.
Teknik Debugging
Ada berbagai jenis teknik untuk men-debug program Java. Metode lama debugging adalah dengan menggunakan pernyataan cetak di akhir setiap segmen yang akan mencetak pernyataan jejak di konsol. Perhatikan kode berikut.
pubic class Add
{
public static void main(String ar[])
{
int a = ar[0];
system.out.println("A : " + a);
int b = ar[1];
system.out.println("B : " + b);
int c = a + b;
system.out.println("C = a + b : " + c);
}
}
Di sini, kami memiliki program yang menambahkan dua angka dan mencetak hasilnya. Perhatikan bahwa di setiap langkah, kami telah memperkenalkan pernyataan cetak yang mencetak status program di konsol. Ini adalah pendekatan tradisional untuk men-debug program.
Selain itu, kami memiliki konsep lanjutan yang dapat digunakan untuk men-debug program seperti:
- stepping
- breakpoints, dan
- pengecualian atau watchpoints.
Jenis Debugging
Kami dapat men-debug program menggunakan berbagai metode:
- Menggunakan bytecode Java (versi terkompilasi dari kode Java)
- Menggunakan komentar di dalam program
- Melampirkan kelas ke program yang sedang berjalan
- Debugging jarak jauh
- Debugging sesuai permintaan
- Debugging kode yang dioptimalkan
Debugger Java
Berikut beberapa contoh debugger Java yang tersedia di pasar:
- IDE seperti Eclipse, Netbeans, dll. Berisi debuggernya sendiri (Visual cafe, Borland, JBuilder)
- GUI debugger mandiri (seperti Jikes, Java platform debugger, dan JProbe)
- Debugger baris perintah (Sun's JDB)
- Notepad atau VI didorong (stack trace)
Tutorial ini membahas cara menggunakan debugger baris perintah, jdb.
JDB
Debugger Java (JDB) adalah alat untuk kelas Java untuk men-debug program di baris perintah. Ini mengimplementasikan Arsitektur Java Platform Debugger. Ini membantu dalam mendeteksi dan memperbaiki bug dalam program Java menggunakan Java Debug Interface (JDI).
JDB di JDK
Arsitektur berikut mendefinisikan peran JDB di JDK. Ini terutama berisi tiga unit:
- Antarmuka Alat Mesin Virtual Java (JVM TI)
- Kumpulan Kabel Debug Java (JDWP)
- Java Debugger Interface (JDI)
JVM TI
Ini adalah antarmuka pemrograman asli yang diimplementasikan oleh VM. Ini menyediakan cara untuk memeriksa dan men-debug status aplikasi yang berjalan di VM. Ini memungkinkan pelaksana (Implementer VM) yang dapat dimasukkan dengan mudah ke dalam arsitektur debugging. Ini juga menggunakan saluran pihak ketiga yang disebutJDWP untuk komunikasi.
JDWP
Ini mendefinisikan format informasi dan permintaan yang lewat di antara proses debuggee dan front end debugger. Tujuan utama memiliki JDWP adalah untuk memungkinkan debuggee dan debugger berkomunikasi saat keduanya berjalan di bawah VM terpisah atau di platform terpisah.
JDI
Ini adalah antarmuka Java tingkat tinggi yang diimplementasikan sebagai ujung depan. Ini mendefinisikan informasi variabel pada tingkat kode pengguna. Direkomendasikan untuk menggunakan lapisan JDI untuk semua pengembangan debugger. Ia menggunakan JDWP untuk komunikasi dengan debuggee JVM.