2017-09-05 5 views
0

jdb 디버거에 응용 프로그램을 연결했습니다. jdb 디버거를 통해 전역/클래스 변수의 상태를 알기 위해 노력하고 있습니다.JDB Print Global Variables

Class MyClass() { 

    private static String myString; 

    public void myMethod() { 
    // Some code 
    } 

} 

내 중단 점은 myMethod() 메소드에 있다고 가정 해 보겠습니다. print/dump 명령을 사용하여 변수를 인쇄 할 수 있습니다 (here 참조). 중단 점이 메서드 myMethod()에있을 때 인쇄 myString 명령을 사용하여 클래스 변수 myString을 인쇄하려고했습니다. 하지만 예외가 발생했습니다. com.sun.tools.example.debug.expr.ParseException : 알 수없는 이름 : myString. myMethod() 메서드에있는 로컬 변수를 인쇄/덤프 할 수 있습니다. myString 이후

+2

명령 인쇄 mystring에 무엇입니까? – Stultuske

+0

클래스 변수에 액세스하려면'self.myString'을 사용해야합니다. – campovski

+0

@Stultuske 예, jdb를 첨부 한 후 명령은 'print myString'입니다. –

답변

0

클래스의 정적 필드, 정적 식별자를 사용하여 액세스 할 수 있어야합니다 수 있습니다 :

dump <full-classpath>.MyClass.myString