2013-03-22 2 views
1

오류가 발생하면 Java 코드에서 예외가 발생합니다. 그런 다음 예외가 발생하면 jdb를 사용하여 코드를 실행하므로 코드가 있으며 디버그 상태를 볼 수 있습니다. 내가 던지는 모든 예외에 대해 유용한 문자열 메시지를 넣습니다. 그러나 jdb가 예외를 catch하면이 문자열은 함께 인쇄되지 않습니다. 이 문자열은 어떻게 인쇄합니까?jdb 인쇄 잡히다 예외 메시지

나는 봤는데 검색 및 설명서를 읽었지만 어떻게 알아낼 수 없습니다.

내가 테스트 클래스가있는 경우 :

$ jdb Test 
Initializing jdb ... 
> run 
run Test 
Set uncaught java.lang.Throwable 
Set deferred uncaught java.lang.Throwable 
> 
VM Started: 
Exception occurred: java.lang.IllegalArgumentException (uncaught)"thread=main", Test.main(), line=3 bci=9 

main[1] 
+0

왜 현대 ide를 사용하지 않습니까? –

+1

그래도 사용했던 IDE (NetBeans 및 Eclipse)에서 명령 줄 매개 변수를 변경하는 것은 항상 문제가됩니다. 터미널에서 alt-tab을 사용하는 것이 더 쉽습니다. – user2019811

답변

1

체크 아웃 JDB "캐치"명령, 예를 들어 "캐치는 IllegalArgumentException"에 대한 :

public class Test{ 
    public static void main(String[] args){ 
     throw new IllegalArgumentException("How do I view this string through jdb?"); 
    } 
} 

을 그리고 JDB를 실행합니다. JDB docs에 따라 예외가 발생하면 디버거가 중단되어 세부 정보를 조사 할 수 있습니다. This 디버깅에 대한 문서는 "print"문에 의존하는 것에 대한 단점을 설명하고 JDB "catch"기능을 참조하기도합니다.

+0

유일한 문제는 IllegalArgument, IllegalState, AssertionError 등의 오류에 따라 다른 예외가 발생한다는 것입니다. 코드베이스가 정확히 작지는 않으며 throw하는 모든 예외가 기억 나지 않습니다 – user2019811