JDB - Giới thiệu
Gỡ lỗi là một quy trình kỹ thuật để tìm và loại bỏ các lỗi hoặc khiếm khuyết trong một chương trình và thu được kết quả mong đợi. Gỡ lỗi bao gồm kiểm tra và giám sát. Nó rất phức tạp khi các đơn vị con của một chương trình được kết hợp chặt chẽ với nhau. Chúng tôi có thể gỡ lỗi một chương trình bằng cách sử dụng các công cụ gỡ lỗi tuân theo các API được chỉ định. Trình gỡ lỗi cho phép bạn xem qua mọi khía cạnh của mã, kiểm tra tất cả các phần tử và xóa lỗi, nếu có.
Kỹ thuật gỡ lỗi
Có nhiều loại kỹ thuật khác nhau để gỡ lỗi một chương trình Java. Phương pháp gỡ lỗi cũ là sử dụng các câu lệnh in ở cuối mỗi đoạn sẽ in các câu lệnh theo dõi trên bảng điều khiển. Hãy xem đoạn mã sau.
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);
}
}
Ở đây, chúng ta có một chương trình thêm hai số và in ra kết quả. Lưu ý rằng ở mỗi bước, chúng tôi đã giới thiệu một câu lệnh in để in trạng thái của chương trình trên bàn điều khiển. Đây là cách tiếp cận truyền thống để gỡ lỗi một chương trình.
Ngoài ra, chúng tôi có các khái niệm nâng cao có thể được sử dụng để gỡ lỗi một chương trình như:
- stepping
- điểm ngắt và
- ngoại lệ hoặc các điểm theo dõi.
Các loại gỡ lỗi
Chúng tôi có thể gỡ lỗi chương trình bằng nhiều phương pháp khác nhau:
- Sử dụng Java bytecode (phiên bản đã biên dịch của mã Java)
- Sử dụng nhận xét bên trong chương trình
- Gắn lớp vào một chương trình đang chạy
- Gỡ lỗi từ xa
- Gỡ lỗi theo yêu cầu
- Gỡ lỗi mã được tối ưu hóa
Trình gỡ lỗi Java
Dưới đây là một số ví dụ về trình gỡ lỗi Java hiện có trên thị trường:
- Các IDE như Eclipse, Netbeans, v.v. chứa các trình gỡ lỗi của riêng chúng (Visual cafe, Borland, JBuilder)
- GUI trình gỡ lỗi độc lập (chẳng hạn như Jikes, trình gỡ lỗi nền tảng Java và JProbe)
- Trình gỡ lỗi dòng lệnh (Sun's JDB)
- Notepad hoặc VI điều khiển (theo dõi ngăn xếp)
Hướng dẫn này trình bày cách sử dụng trình gỡ lỗi dòng lệnh, jdb.
JDB
Trình gỡ lỗi Java (JDB) là một công cụ dành cho các lớp Java để gỡ lỗi một chương trình trong dòng lệnh. Nó thực hiện Kiến trúc trình gỡ lỗi nền tảng Java. Nó giúp phát hiện và sửa lỗi trong chương trình Java sử dụng Giao diện gỡ lỗi Java (JDI).
JDB trong JDK
Kiến trúc sau đây xác định vai trò của JDB trong JDK. Nó chủ yếu chứa ba đơn vị:
- Giao diện công cụ máy ảo Java (JVM TI)
- Nhóm nối dây gỡ lỗi Java (JDWP)
- Giao diện trình gỡ lỗi Java (JDI)
JVM TI
Nó là một giao diện lập trình gốc được thực hiện bởi VM. Nó cung cấp các cách để kiểm tra và gỡ lỗi trạng thái của ứng dụng đang chạy trên máy ảo. Nó cho phép một trình triển khai (VM Triển khai) có thể được bao bọc dễ dàng vào kiến trúc gỡ lỗi. Nó cũng sử dụng kênh của bên thứ ba có tênJDWP để giao tiếp.
JDWP
Nó xác định định dạng của thông tin và các yêu cầu chuyển vào giữa quá trình gỡ lỗi và giao diện người dùng của trình gỡ lỗi. Mục đích chính của việc có JDWP là cho phép trình gỡ lỗi và trình gỡ lỗi giao tiếp khi chúng chạy trong các máy ảo riêng biệt hoặc trong các nền tảng riêng biệt.
JDI
Nó là một giao diện Java cấp cao được triển khai dưới dạng giao diện người dùng. Nó xác định thông tin biến ở cấp mã người dùng. Bạn nên sử dụng lớp JDI cho tất cả quá trình phát triển trình gỡ lỗi. Nó sử dụng JDWP để giao tiếp với trình gỡ lỗi JVM.