JDB - Panduan Cepat
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.
Bab ini menjelaskan cara menginstal JDB pada sistem berbasis Windows dan Linux. JDB adalah bagian dari JDK. Oleh karena itu, penginstalan JDK cukup untuk menggunakan JDB di command prompt.
Persyaratan sistem
Berikut adalah persyaratan sistem untuk menginstal JDB:
JDK | Java SE 2 JDK 1.5 atau lebih tinggi |
Penyimpanan | RAM 1 GB (disarankan) |
Ruang Disk | Tidak ada persyaratan minimum |
Versi Sistem Operasi | Windows XP atau yang lebih baru, Linux |
Ikuti langkah-langkah sederhana yang diberikan di bawah ini untuk menginstal JDB di sistem Anda.
Langkah 1: Memverifikasi Instalasi Java
Pertama-tama, Anda harus menginstal Java Software Development Kit (SDK) di sistem Anda. Untuk memverifikasi ini, jalankan salah satu dari dua perintah tergantung pada platform yang Anda kerjakan.
Jika penginstalan Java telah dilakukan dengan benar, maka versi dan spesifikasi penginstalan Java saat ini akan ditampilkan. Output sampel diberikan dalam tabel berikut.
Peron | Perintah | Output Sampel |
---|---|---|
Windows | Buka konsol perintah dan ketik: \>java –version |
Versi Java "1.7.0_60" Java (TM) SE Run Time Environment (build 1.7.0_60-b19) Java Hotspot (TM) 64-bit Server VM (build 24.60-b09, mode campuran) |
Linux | Buka terminal perintah dan ketik: $java –version |
versi java "1.7.0_25" Buka JDK Runtime Environment (rhel-2.3.10.4.el6_4-x86_64) Buka VM Server JDK 64-Bit (build 23.7-b01, mode campuran) |
Kami berasumsi bahwa pembaca tutorial ini telah menginstal Java SDK versi 1.7.0_60 di sistem mereka. Jika Anda tidak memiliki Java SDK, unduh versi saat ini dari tautanhttp://www.oracle.com/technetwork/java/javase/downloads/index.html dan instal.
Langkah 2: Menyiapkan Lingkungan Java
Setel variabel lingkungan JAVA_HOME agar mengarah ke lokasi direktori dasar tempat Java diinstal pada mesin Anda. Sebagai contoh,
Peron | Deskripsi |
---|---|
Windows | atur JAVA_HOME ke C: \ ProgramFiles \ java \ jdk1.7.0_60 |
Linux | ekspor JAVA_HOME = / usr / local / java |
Tambahkan jalur lengkap lokasi kompilator Java ke Jalur Sistem.
Peron | Deskripsi |
---|---|
Windows | Tambahkan String "C: \ Program Files \ Java \ jdk1.7.0_60 \ bin" di akhir variabel sistem PATH. |
Linux | ekspor PATH = $ PATH: $ JAVA_HOME / bin / |
Jalankan perintahnya java -version dari command prompt seperti dijelaskan di atas.
Langkah 3: Memverifikasi Instalasi JDB
Verifikasi versi JDB sebagai berikut:
Peron | Perintah | Output Sampel |
---|---|---|
Windows | Buka konsol perintah dan ketik: \>jdb –version |
Ini adalah JDB versi 1.6 (Java SE versi 1.7.0_60) |
Linux | Buka terminal perintah dan ketik: $jdb –version |
Ini adalah JDB versi 1.6 (Java SE versi 1.7.0_60) |
Bab ini menjelaskan sintaks perintah JDB. Sintaksnya berisi empat bagian yang terdaftar sebagai berikut:
- JDB
- option
- class
- arguments
Sintaksis
Sintaks JDB adalah sebagai berikut.
jdb [ options ] [ class ] [ arguments ]
JDB
Ini memanggil jdb.exe dari Java Development Kit.
Pilihan
Ini termasuk opsi baris perintah yang digunakan untuk men-debug program Java dengan cara yang efisien. Peluncur JDB menerima semua opsi (seperti -D, -classpath, dan -X) dan beberapa opsi lanjutan tambahan seperti (-attach, -listen, -launch, dll.).
Kelas
Ini adalah nama kelas tempat Anda ingin melakukan operasi debug.
Argumen
Ini adalah nilai input yang diberikan ke program pada saat runtime. Misalnya, arg [0], arg [1] ke metode main ().
Dalam empat segmen di atas, opsi adalah yang paling penting.
Bab ini menjelaskan opsi penting yang tersedia di JDB yang dikirimkan sebagai argumen dengan perintah jdb.
Pilihan
Tabel berikut berisi daftar opsi yang diterima oleh JDB:
Nama | Deskripsi |
---|---|
-Tolong | Menampilkan pesan bantuan dan mencantumkan opsi terkait. |
-sourcepath | Menggunakan jalur yang diberikan untuk file sumber jika jalur tidak ditentukan, maka itu mengambil jalur default ".", Yaitu direktori saat ini. |
-melampirkan | Melampirkan debugger ke VM yang sedang berjalan dengan menentukan alamat VM yang sedang berjalan. |
-mendengarkan | Menunggu VM yang berjalan terhubung menggunakan konektor standar. |
-listenany | Menunggu VM yang berjalan terhubung menggunakan alamat apa pun. |
-meluncurkan | Meluncurkan aplikasi yang di-debug segera pada pekerjaan startup. |
-listconnectors | Mencantumkan konektor yang tersedia di VM ini. |
-Menghubung | Menghubungkan ke VM target menggunakan konektor bernama dengan nilai argumen yang tercantum. |
-dbgtrace.dll | Mencetak informasi untuk debugging jdb. |
-tclient | Menjalankan aplikasi di Java Hotspot VM (klien). |
-tserver | Menjalankan aplikasi di Java Hotspot VM (server). |
-Pilihan | Meneruskan opsi ke mesin virtual Java yang digunakan untuk menjalankan JDB. |
Menggunakan Opsi dengan Perintah
Perintah berikut menunjukkan cara menggunakan beberapa opsi di atas:
-Tolong
Perintah berikut mendapatkan -help untuk menggunakan JDB.
\>jdb -help
-melampirkan
Perintah berikut memasang debugger ke VM yang ditentukan (nomor port: 1099).
\> jdb -attach 1099
-mendengarkan
Perintah berikut membuat proses JDB yang berjalan di VM saat ini menunggu menggunakan konektor standar (VM di 8008).
\>jdb -listen 8088
-listenany
Perintah berikut membuat proses JDB yang berjalan di VM saat ini menunggu menggunakan konektor apa pun (VM di port yang saat ini berjalan).
\>jdb –listenany
-tclient
Perintah berikut menjalankan aplikasi di Java Hotspot (™) VM (klien).
\>jdb –tclient
-tserver
Perintah berikut menjalankan aplikasi di Java Hotspot (™) VM (server).
\>jdb -tserver
Bab ini menjelaskan cara memulai sesi JDB dengan berbagai cara. Peluncuran JDB adalah teknik yang sering digunakan untuk memulai sesi JDB.
Ada dua cara berbeda untuk memulai sesi JDB:
- Memulai sesi JDB dengan menambahkan kelas (nama kelas utama) ke dalamnya.
- Menambahkan JDB untuk menjalankan JVM untuk memulai sesi.
Mulai Sesi dengan Menambahkan Kelas
Perintah berikut memulai sesi JDB:
Sintaksis
\>jdb <classname>
Contoh
Mari kita asumsikan kita memiliki kelas bernama TestClass. Perintah berikut memulai sesi JDB dari TestClass.
\>jdb TestClass
Jika Anda mengikuti perintah ini, ini akan memulai Java VM baru dengan parameter yang ditentukan. Setelah itu, ia memuat kelas dan menghentikannya sebelum menjalankan pernyataan pertama kelas.
Mulai Sesi dengan Menambahkan JDB ke JVM yang Berjalan
Diberikan di bawah ini adalah sintaks dan contoh untuk memulai sesi JDB dengan menambahkan JDB ke JVM yang sedang berjalan.
Sintaksis
Sintaks berikut untuk sesi JDB:
-agentlib:jdwp=transport=dt_shmem,address=
,server=y,suspend=n
Contoh
Mari kita asumsikan nama kelas utama adalah TestClassdan JVM memungkinkan JDB untuk menghubungkannya nanti. Berikut ini adalah perintah untuk menambahkan JDB ke JVM:
\>java
-agentlib:jdwp=transport=dt_shmem,address=jdbconn,server=y,suspend=n TestClass
Sekarang Anda dapat memasang JDB ke JVM dengan perintah berikut:
\> jdb -attach jdbconn
Note: Di sini TestClass tidak ditambahkan ke perintah JDB, karena JDB terhubung ke VM yang sedang berjalan alih-alih meluncurkan yang baru.
Bab ini memandu Anda mempelajari perintah dasar JDB. Setelah meluncurkan sesi, perintah ini digunakan untuk men-debug program.
Berikut ini adalah daftar perintah yang digunakan untuk debugging.
Nama | Deskripsi |
---|---|
membantu atau? | Yang paling penting JDBperintah; ini menampilkan daftar perintah yang dikenali dengan deskripsi singkat. |
Lari | Setelah memulai JDB dan menyetel breakpoint yang diperlukan, Anda dapat menggunakan perintah ini untuk memulai eksekusi dan men-debug aplikasi. |
lanjutan | Melanjutkan eksekusi aplikasi yang di-debug setelah breakpoint, pengecualian, atau langkah. |
mencetak | Menampilkan objek Java dan nilai primitif. |
membuang | Untuk nilai primitif, perintah ini identik dengan print. Untuk objek, ini mencetak nilai saat ini dari setiap bidang yang ditentukan dalam objek. Bidang statis dan contoh disertakan. |
benang | Mencantumkan utas yang sedang berjalan. |
benang | Memilih utas menjadi utas saat ini. |
dimana | Membuang tumpukan utas saat ini. |
Contoh
Mari kita asumsikan kita memiliki kelas sampel yang disebut Add untuk contoh berikut:
Add.java
public class Add
{
public int addition( int x, int y)
{
int z = x+y;
return z;
}
public static void main( String ar[ ] )
{
int a = 5, b = 6;
Add ob = new Add();
int c = ob.addition(a,b);
System.out.println("Add: "+c);
}
}
Kompilasi kelas ini Add.java menggunakan perintah berikut:
\>javac Add.java
Lari
Perintah ini mengeksekusi file kelas utama, yang ditambahkan ke JDB untuk debugging. Jalankan perintah berikut untuk menjalankan kelas Tambah.
\>jdb Add
initializing jdb …
>run
Saat menjalankan perintah ini, Anda bisa melihat output berikut:
Bab ini menjelaskan konsep breakpoint dan cara menyetel breakpoint dalam sebuah program. Sebuah breakpoint memperkenalkan penghentian atau jeda eksplisit dalam eksekusi program pada baris kode tertentu saat debugging. Hal ini berguna untuk memperoleh pengetahuan tentang variabel dalam program dalam pelaksanaannya.
Sintaksis
Perintah berikut menyiapkan breakpoint pada nomor baris tertentu:
> stop at <class name>:<Line no>
Perintah berikut menyiapkan breakpoint pada metode tertentu atau pada variabel tertentu:
> stop in <class name>:< Method name | Variable name>
Contoh
Contoh berikut menunjukkan cara menyiapkan breakpoint di kelas.
public class Add
{
public int addition( int x, int y)
{
int z = x+y;
return z;
}
public static void main( String ar[ ] )
{
int a = 5, b = 6;
Add ob = new Add();
int c = ob.addition(a,b);
System.out.println("Add: "+c);
}
}
Simpan file di atas sebagai Add.java. Kompilasi file ini menggunakan perintah berikut:
\>javac Add.java
Debugging
Mari kita ambil contoh untuk debugging. Di sini, kami memulai proses debugging dengan menyiapkan breakpoint di main (). Diberikan di bawah ini adalah langkah-langkah yang harus diikuti dalam proses debugging:
Langkah 1: Mulai Sesi JDB
Perintah berikut memulai sesi JDB di kelas Add untuk debugging:
\> jdb Add
Langkah 2: Tetapkan Breakpoint
Perintah berikut menyiapkan breakpoint pada metode main () kelas Add.
> stop in Add.main
Jika breakpoint berhasil disetel, Anda bisa melihat output berikut:
Deferring breakpoint Add.main.
It will set after the class is loaded.
>
Langkah 3: Mulai Debugging
Perintah berikut memulai eksekusi kelas Add:
> run Add
Jika Anda menjalankan perintah ini, Anda akan melihat output berikut. Dalam output ini, Anda menemukan bahwa eksekusi berhenti pada posisi breakpoint, yaitu pada fungsi main ().
Eksekusi berhenti di baris pertama dari metode utama, yaitu di "int a = 5, b = 6;" atau Baris no: 11 pada kode. Anda dapat mengamati informasi ini di keluaran.
Langkah 4: Lanjutkan Eksekusi
Perintah berikut melanjutkan eksekusi program:
cont
Ini memberi Anda bagian dan keluaran eksekusi yang tersisa sebagai berikut:
> Add:11
The application exited
\>
Bab ini menjelaskan cara menggunakan konsep Stepping dalam men-debug program. Stepping adalah fitur debugger yang memungkinkan Anda mengeksekusi kode dengan melangkah melalui baris demi baris. Dengan menggunakan ini, Anda dapat memeriksa setiap baris kode untuk memastikannya berperilaku seperti yang diinginkan.
Perintah berikut digunakan dalam proses melangkah:
- langkah: langkah ke baris eksekusi berikutnya
- daftar: memeriksa posisi Anda dalam kode
- lanjutan: melanjutkan sisa eksekusi
Contoh
Contoh berikut menggunakan kelas Add yang telah kita gunakan di bab sebelumnya:
public class Add
{
public int addition( int x, int y)
{
int z = x+y;
return z;
}
public static void main( String ar[ ] )
{
int a = 5, b = 6;
Add ob = new Add();
int c = ob.addition(a,b);
System.out.println("Add: "+c);
}
}
Simpan file di atas sebagai Add.java. Kompilasi file ini menggunakan perintah berikut:
\>javac Add.java
Mari kita asumsikan bahwa breakpoint diatur pada metode main () kelas Add. Langkah-langkah berikut menunjukkan cara menerapkan melangkah di kelas Tambah.
Langkah 1: Jalankan Pekerjaan
Perintah berikut mulai menjalankan kelas bernama Add.
> run Add
Jika Anda menjalankan perintah ini, Anda akan melihat output berikut. Dalam keluaran ini, Anda dapat menemukan bahwa eksekusi berhenti pada posisi breakpoint, yaitu pada metode main ().
Eksekusi berhenti di baris pertama dari metode utama, yaitu di "int a = 5, b = 6;" atau Baris no: 11 pada kode. Anda dapat mengamati informasi ini di keluaran.
Langkah 2: Selesaikan Kode
Perintah berikut langkah eksekusi ke baris berikutnya.
main[1] step
Sekarang langkah-langkah eksekusi ke Baris no: 12. Anda bisa melihat output berikut.
Langkah 3: Buat Daftar Kode
Perintah berikut mencantumkan kode:
main[1] list
Anda mendapatkan hasil sebagai berikut. Perintah daftar digunakan untuk memberi tahu Anda baris dalam kode yang telah dicapai oleh kontrol program. Perhatikan tanda panah => pada tangkapan layar berikut yang menunjukkan posisi kontrol program saat ini.
Langkah 4: Lanjutkan Eksekusi
Perintah berikut terus menjalankan kode:
main[1] cont
Perintah ini terus mengeksekusi baris kode yang tersisa. Outputnya seperti gambar di bawah ini:
> Add:11
The application exited
\>
Secara umum, ada tiga jenis pijakan:
- Melangkah ke
- Langkah selesai
- Melangkah keluar
Melangkah ke
Dengan menggunakan perintah ini, Anda dapat melangkah ke baris kode berikutnya. Jika baris kode berikutnya adalah pemanggilan fungsi, maka ia memasuki fungsi dengan menggerakkan kontrol di baris atas fungsi.
Dalam kode berikut, tanda panah mendefinisikan pengontrol dalam kode.
public class Add
{
public int addition( int x, int y)
{
int z = x+y;
return z;
}
public static void main( String ar[ ] )
{
int a = 5, b = 6;
-> Add ob = new Add();
int c = ob.addition(a,b);
System.out.println("Add: "+c);
}
}
Jika Anda menggunakan step intoperintah, pengontrol pindah ke baris berikutnya, yaitu, "int c = ob.addition (a, b);". Di baris ini, ada pemanggilan fungsiaddition(int, int) maka pengontrol bergerak ke baris paling atas dari fungsi penjumlahan dengan tanda panah seperti yang ditunjukkan di bawah ini:
public class Add
{
public int addition( int x, int y)
-> {
int z = x+y;
return z;
}
public static void main( String ar[ ] )
{
int a = 5, b = 6;
Add ob = new Add();
int c = ob.addition(a,b);
System.out.println("Add: "+c);
}
}
Langkah selesai
Step Over juga menjalankan baris berikutnya. Tetapi jika baris berikutnya adalah pemanggilan fungsi, itu mengeksekusi fungsi itu di latar belakang dan mengembalikan hasilnya.
Mari kita ambil contoh. Dalam kode berikut, tanda panah mendefinisikan kontrol dalam kode.
public class Add
{
public int addition( int x, int y)
{
int z = x+y;
return z;
}
public static void main( String ar[ ] )
{
int a = 5, b = 6;
-> Add ob = new Add();
int c = ob.addition(a,b);
System.out.println("Add: "+c);
}
}
Jika Anda menggunakan step overperintah, kontrol pindah ke baris berikutnya, yaitu, "int c = ob.addition (a, b);". Di baris ini, ada pemanggilan fungsiaddition(int, int) karenanya eksekusi fungsi dilakukan di latar belakang dan hasilnya dikembalikan ke baris saat ini dengan tanda panah seperti yang ditunjukkan di bawah ini:
public class Add
{
public int addition( int x, int y)
{
int z = x+y;
return z;
}
public static void main( String ar[ ] )
{
int a = 5, b = 6;
Add ob = new Add();
-> int c = ob.addition(a,b);
System.out.println("Add: "+c);
}
}
Melangkah keluar
Step Out menjalankan baris berikutnya. Jika baris berikutnya adalah pemanggilan fungsi, ia melewatinya dan eksekusi fungsi berlanjut dengan baris kode yang tersisa.
Mari kita ambil contoh. Dalam kode berikut, tanda panah mendefinisikan pengontrol dalam kode.
public class Add
{
public int addition( int x, int y)
{
int z = x+y;
return z;
}
public static void main( String ar[ ] )
{
int a = 5, b = 6;
-> Add ob = new Add();
int c = ob.addition(a,b);
System.out.println("Add: "+c);
}
}
Jika Anda menggunakan step outperintah, pengontrol pindah ke baris berikutnya, yaitu, "int c = ob.addition (a, b);". Di baris ini, ada pemanggilan fungsiaddition(int, int) karenanya eksekusi fungsi dilewati dan eksekusi yang tersisa dilanjutkan dengan tanda panah seperti yang ditunjukkan di bawah ini:
public class Add
{
public int addition( int x, int y)
{
int z = x+y;
return z;
}
public static void main( String ar[ ] )
{
int a = 5, b = 6;
Add ob = new Add();
-> int c = ob.addition(a,b);
System.out.println("Add: "+c);
}
}
Bab ini menjelaskan cara menangani kelas pengecualian menggunakan JDB. Umumnya, setiap kali program memunculkan pengecualian tanpa pernyataan catch, maka VM mencetak baris pengecualian, penyebab pengecualian, dan keluar. Jika pengecualian telah dimunculkan dengan pernyataan catch, maka pengecualian tersebut ditangani oleh pernyataan catch. Di sini, VM mencetak keluaran dengan penyebab pengecualian.
Ketika kelas yang memunculkan pengecualian berjalan di bawah JDB, itu juga memunculkan uncaughtpengecualian. Pengecualian itu bisa ditangani menggunakancatch perintah.
Contoh
Mari kita ambil contoh kelas JdbException:
public class JdbException
{
public static void main(String ar[]) throws Exception
{
int a=8, b=0;
System.out.println("Welcome");
System.out.println("Ex: "+(a/b));
}
}
Simpan file di atas dengan nama JdbException.java. Kompilasi file ini menggunakan perintah berikut:
\>javac JdbException.java
Ikuti langkah-langkah yang diberikan di bawah ini untuk menangani pengecualian.
Langkah 1: Jalankan Kelas
Perintah berikut mengeksekusi kelas bernama JdbException sebagai berikut:
\>jdb JdbException
>run
Ini JdbException class berisi pengecualian, maka Anda bisa melihat output berikut:
Langkah 2: Tangkap Pengecualian
Perintah berikut menangkap pengecualian:
mian[1] catch java.lang.ArithmeticException
Ini akan memberi Anda output berikut:
Set all java.lang.ArithmeticException
Langkah 3: Lanjutkan Eksekusi
Perintah berikut melanjutkan eksekusi. Sekarang tangkapan menangani pengecualian aritmatika sebagai berikut:
Bab ini menjelaskan cara menggunakan JDB di Eclipse. Sebelum melangkah lebih jauh, Anda perlu menginstal Eclipse Indigo. Ikuti langkah-langkah yang diberikan di bawah ini untuk menginstal Eclipse Indigo di sistem Anda.
Langkah 1: Unduh dan Instal Eclipse
Anda dapat mengunduh Eclipse dari tautan berikut: http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/indigosr2
Langkah 2: Buat Proyek Baru dan Kelas Baru
- Buat proyek Java baru dengan mengikuti opsi File-> New -> Java project.
- Beri nama sebagai “sampledebug”.
- Buat kelas baru dengan mengklik kanan pada samplebebug proyek.
- Pilih options ->new -> class
- Beri nama sebagai “Add.java”
Add.java
public class Add
{
public int addition( int x, int y)
{
int z = x+y;
return z;
}
public static void main( String ar[ ] )
{
int a = 5, b = 6;
Add ob = new Add();
int c = ob.addition(a,b);
System.out.println("Add: "+c);
}
}
Langkah 3: Buka Perspektif Debug
Ikuti instruksi yang diberikan di bawah ini untuk membuka perspektif debug.
Di Eclipse IDE, buka Window -> Open perspective -> Debug. Sekarang Anda mendapatkan perspektif debug untuk program Add.java. Anda bisa melihat jendela berikut.
Bagian dalam Perspektif Debug
Bagian dalam perspektif Debug adalah sebagai berikut:
Bagian Coding
Kode Java ditampilkan di bagian ini. Ini adalah kode yang ingin Anda debug, yaitu,Add.java. Di sini kita bisa menambahkan breakpoint pada sebuah baris dengan mengklik dua kali di depan baris. Anda menemukan gelembung biru dengan simbol panah untuk menunjukkan breakpoint dari garis tersebut. Lihat screenshot berikut; Anda dapat menemukan area yang dipilih dengan lingkaran merah menunjuk sebagai "1".
- Klik dua kali di sini. Anda dapat mengatur breakpoint untuk baris ini.
Bagian Breakpoint
Bagian ini menjelaskan daftar breakpoint yang disetel ke kode program. Di sini kita dapat menambah, menghapus, menemukan, dan mengelola breakpoint. Tangkapan layar berikut menunjukkan bagian breakpoint.
Amati opsi berikut di tangkapan layar yang diberikan:
Menggunakan kotak centang di sebelah kiri, kita dapat memilih atau membatalkan pilihan breakpoint. Di sini, kami menggunakan satu breakpoint, yaitu metode Add class-main ().
Ikon silang tunggal "X" digunakan untuk menghapus breakpoint yang dipilih.
Ikon silang ganda "XX" digunakan untuk menghapus semua breakpoint dalam kode Anda.
Penunjuk panah digunakan untuk menunjuk ke kode di mana titik putus yang dipilih diterapkan.
Fungsi yang tersisa di bagian breakpoint adalah sebagai berikut:
Hitcount: Ini menunjukkan berapa kali kontrol mencapai breakpoint ini. Ini digunakan untuk logika rekursif.
Suspend thread : Kami dapat menangguhkan utas saat ini dengan memilihnya.
Suspend VM : Kami dapat menangguhkan VM dengan memilihnya.
Bagian Debug
Bagian ini digunakan untuk proses debugging. Ini berisi opsi yang digunakan dalam debugging.
Start debugging : Ikuti instruksi yang diberikan di bawah ini untuk memulai debugging.
Klik kanan pada file code -> klik Debug as -> klik 1 Java application.
Proses debugging dimulai seperti yang ditunjukkan pada tangkapan layar berikut. Ini berisi beberapa opsi yang dipilih, disorot menggunakan digit numerik.
Kami menerapkan breakpoint pada metode Add class main (). Saat kami mulai men-debug, filecontroller macet di baris pertama metode main ().
Itu sudah biasa Resumeproses debugging dan lewati breakpoint saat ini. Cara kerjanya mirip dengancont perintah di baris perintah JDB.
Ini digunakan untuk menghentikan proses debugging.
Cara kerjanya mirip dengan step inproses di baris perintah JDB. Ini digunakan untuk memindahkan kontrol ke baris berikutnya, yaitu titik “1” pindah ke baris berikutnya.
Cara kerjanya mirip dengan step over proses di baris perintah JDB.
Ini digunakan untuk melihat pada baris mana breakpoint diterapkan.
Ikuti langkah-langkah dan bagian yang diberikan untuk men-debug kode Anda di IDE eclipse. Secara default, setiap IDE berisi proses debugging ini.