2009-08-25 3 views
2

응용 프로그램에서 몇 가지 멤버 변수 및 메소드가있는 클래스가 있습니다. 잘못된 매개 변수로 메소드를 호출하면 AssertionError가 생성됩니다. 잡히지 않은 예외에서 중단되도록 디버거를 설정했습니다.Eclipse에서 Java 클래스 인스턴스 변수 값 검사

문제는 디버그 퍼스펙티브로 전환 할 때 클래스 인스턴스 (함수가 호출 된 곳)와 두 매개 변수 만 볼 수 있습니다. 클래스 인스턴스를 확장하여 멤버 변수의 값을 볼 수 없습니다. 인스턴스의 왼쪽에는 공백이 있으므로 거기에 화살표가 있어야 Outline과 비슷한 방식으로 확장 할 수 있다고 가정합니다.

구성이 필요합니까? 아니면 변수 창을 오해 했습니까?

이것이 중요한 경우, 이것은 우분투 리눅스에서 Eclipse 3.2.2입니다.


[업데이트] 은 지금 ": 20090619-0625 ID를 구축"보고 "이클립스 정보"

http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/galileo/R/eclipse-java-galileo-linux-gtk.tar.gz에서 새 버전을 다운로드했습니다.

테스트 케이스는 :

class Foo { 
    private int bar; 

    Foo() { 
     bar = 1; 
    } 

    public void set(int newbar) { 
     assert (newbar<0); 
     bar = newbar; 
    } 
} 

class Test { 

    public static void main (String[] args){ 
     Foo f = new Foo(); 
     f.set(5); 
    } 
} 

물론,이 코드는 주장 예외를 생성합니다. 그러나 유일한 변화는 새 버전에서 녹색 원에서 파란색 삼각형으로 바뀐 "this"아이콘입니다. 아직도 그것을 확장하는 방법을 찾을 수 없습니다. 여기서 Foo 인스턴스의 "this", "newbar"및 그 값을 명확히하기 위해 "this"를 확장하고 "bar"에 대한 현재 값을 볼 수 있습니다.

답변

2

#eclipse에서 논의한 결과 VM이 문제가되는 것으로 나타났습니다. 그것을 변경

/usr/lib/jvm/java-1.5.0-gcj-4.3-1.5.0.0/bin/java 

에 :

/usr/lib/jvm/java-6-openjdk/bin/java 

을하고 VM 날 bar의 값을 검사 클래스의 인스턴스를 확장하자에 인수로 -ea 플래그를 납품 나는 실행했다. 문제 해결됨.

+1

아, 네, 우분투는 기본적으로 Sun JVM만큼 완벽하지는 않은 GNU JVM을 사용합니다. 그래도 Eclipse가 전혀 작동하지 않는다는 사실에 놀랍습니다. – sleske

2

아니요. 일반적으로 디버그 뷰의 첫 번째 줄은 현재 실행중인 인스턴스를 나타내는 "this"항목이어야합니다. 인스턴스 변수 목록을 확장하려면 클릭하는 "+"가 있어야합니다.

이 방법이 효과가 없다면 잘못된 스택 프레임 (스택 추적 목록에서 선택할 수 있음) 또는 Eclipse에서 소스 코드 위치를 확인할 수 없거나 다른 것이 잘못되었을 수 있습니다.

재생산 가능한 작은 테스트 케이스를 만들고 게시하십시오. 그렇다면 우리는 볼 것입니다 ...

BTW : Eclise 3.2.2는 다소 오래되었습니다. 문제가 지속되는지 확인하려면 3.5로 업그레이드하는 것이 좋습니다. 여러 Eclipse 버전을 나란히 설치할 수 있으므로 (디렉토리에 압축을 풀기 만하면) 기존 설치를 망칠 필요가 없습니다.

+0

"this"가 표시되지만 옆에 "+"가 없으므로 확장 할 수 있습니다. 우분투 패키지 저장소를 통해 이클립스를 설치했는데, 최신 버전으로 업데이트하여 다시 테스트했다. – Mizipzor

+0

우분투 저장소에서 설치하는 것은 좋지 않습니다.진심으로 구식이야. Eclipse.org 사이트에서 최신 패키지를 다운로드하십시오. 압축을 풀고 실행하기 만하면 "설치할"필요가 없습니다. http://www.eclipse.org/downloads/ – zvikico

+0

Eclipse가 업데이트되고 testcase가 추가되었습니다. – Mizipzor

관련 문제