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".

  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:

  1. Menggunakan kotak centang di sebelah kiri, kita dapat memilih atau membatalkan pilihan breakpoint. Di sini, kami menggunakan satu breakpoint, yaitu metode Add class-main ().

  2. Ikon silang tunggal "X" digunakan untuk menghapus breakpoint yang dipilih.

  3. Ikon silang ganda "XX" digunakan untuk menghapus semua breakpoint dalam kode Anda.

  4. 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.

  1. Kami menerapkan breakpoint pada metode Add class main (). Saat kami mulai men-debug, filecontroller macet di baris pertama metode main ().

  2. Itu sudah biasa Resumeproses debugging dan lewati breakpoint saat ini. Cara kerjanya mirip dengancont perintah di baris perintah JDB.

  3. Ini digunakan untuk menghentikan proses debugging.

  4. 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.

  5. Cara kerjanya mirip dengan step over proses di baris perintah JDB.

  6. 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.