JDB-소개
디버깅은 프로그램에서 버그 나 결함을 찾아 제거하고 예상되는 결과를 얻는 기술 절차입니다. 디버깅에는 테스트 및 모니터링이 포함됩니다. 프로그램의 하위 단위가 밀접하게 결합 될 때 매우 복잡합니다. 규정 된 API를 따르는 디버거 도구를 사용하여 프로그램을 디버깅 할 수 있습니다. 디버거를 사용하면 코드의 모든 측면을 살펴보고 모든 요소를 검사하고 오류가있는 경우 제거 할 수 있습니다.
디버깅 기법
Java 프로그램을 디버그하는 여러 종류의 기술이 있습니다. 이전 디버깅 방법은 모든 세그먼트의 끝에 print 문을 사용하여 콘솔에 trace 문을 인쇄하는 것입니다. 다음 코드를 살펴보십시오.
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);
}
}
여기에 두 개의 숫자를 더하고 출력을 인쇄하는 프로그램이 있습니다. 각 단계에서 콘솔에 프로그램의 상태를 인쇄하는 print 문을 도입했습니다. 이것은 프로그램을 디버그하는 전통적인 접근 방식입니다.
또한 다음과 같은 프로그램을 디버그하는 데 사용할 수있는 고급 개념이 있습니다.
- stepping
- 중단 점 및
- 예외 또는 감시 점.
디버깅 유형
다양한 방법을 사용하여 프로그램을 디버깅 할 수 있습니다.
- 자바 바이트 코드 사용 (컴파일 된 자바 코드 버전)
- 프로그램 내에서 주석 사용
- 실행중인 프로그램에 클래스 연결
- 원격 디버깅
- 주문형 디버깅
- 최적화 된 코드 디버깅
자바 디버거
다음은 시장에서 사용 가능한 Java 디버거의 몇 가지 예입니다.
- Eclipse, Netbeans 등과 같은 IDE에는 자체 디버거 (Visual cafe, Borland, JBuilder)가 포함되어 있습니다.
- 독립형 디버거 GUI (예 : Jikes, Java 플랫폼 디버거 및 JProbe)
- 명령 줄 디버거 (Sun의 JDB)
- 메모장 또는 VI 구동 (스택 추적)
이 자습서에서는 명령 줄 디버거를 사용하는 방법을 다룹니다. jdb.
JDB
Java 디버거 (JDB)는 명령 줄에서 프로그램을 디버깅하는 Java 클래스 용 도구입니다. Java Platform Debugger Architecture를 구현합니다. JDI (Java Debug Interface)를 사용하여 Java 프로그램에서 버그를 감지하고 수정하는 데 도움이됩니다.
JDK의 JDB
다음 아키텍처는 JDK에서 JDB의 역할을 정의합니다. 주로 세 가지 단위가 포함됩니다.
- JVM TI (Java Virtual Machine Tool Interface)
- JDWP (Java Debug Wiring Pool)
- 자바 디버거 인터페이스 (JDI)
JVM TI
VM에 의해 구현 된 네이티브 프로그래밍 인터페이스입니다. VM에서 실행되는 애플리케이션의 상태를 검사하고 디버깅하는 방법을 제공합니다. 이는 디버깅 아키텍처에 쉽게 포함될 수있는 구현 자 (VM 구현 자)를 허용합니다. 또한라는 타사 채널을 사용합니다.JDWP 의사 소통을 위해.
JDWP
정보의 형식과 디 버기 프로세스와 디버거 프런트 엔드 사이에 전달되는 요청을 정의합니다. JDWP를 갖는 주요 목적은 디버거와 디버거가 별도의 VM 또는 별도의 플랫폼에서 실행될 때 통신 할 수 있도록하는 것입니다.
JDI
프런트 엔드로 구현 된 고급 Java 인터페이스입니다. 사용자 코드 수준에서 변수 정보를 정의합니다. 모든 디버거 개발에 JDI 계층을 사용하는 것이 좋습니다. 디버그 대상 JVM과의 통신을 위해 JDWP를 사용합니다.