1

Java 클래스의 특정 변수가 어떻게 사용되는지 알고 싶습니다. 변수를 추적하는 데 도움이되는 정적 코드 분석 도구가 있습니까? 예를 들어정적 코드 분석 Java

: 나는 변수 "trackMe"를 추적하려는 경우 위의 예에서

Class A { 
    int trackMe; 
    function usedHere(trackMe); 
    B bobject = new B(trackMe); 
    ... 

    } 

Class B { 
     B (int var) { 
     copyOfTrackMe = var; 
     } 
    } 

. 도구에 의해 trackMe가 usedHere 함수에 전달되고 B가 복사 된 곳의 생성자에 전달된다는 알림을 받아야합니다.

모든 의견을 환영합니다.

** * ** * * 편집 * ** * ** * 나는 코드를 실행하거나의 코드를 변경하지 않으
이것을 달성하기 위해서. 그래서 IDE 디버거 중 아무도 작업을 완료하지 못할 것입니다.

답변

0

대부분의 IDE는 검색을 통해이를 수행 할 수 있습니다. 예를 들어, Eclipse에서 trackMe 필드를 강조 표시 한 다음 Ctrl + H를 누르면 Java 검색 대화 상자가 표시됩니다. "검색"을 클릭하면 해당 필드가 직접 참조되는 작업 공간의 모든 위치가 표시됩니다.

+0

실제로 그 문자열을 검색하면됩니다. 변수의 아무 곳이나 클릭하고 control-shift-G를 누르면 해당 변수가 참조되는 모든 위치가 표시되고 주석에 나타나는 장소 또는 다른 변수에 나타나는 문자열이 제외됩니다. – arcy

+0

@rcook 사실 그것은 control + H "Java search"탭과 같습니다. 그것은 내가 언급 한 것입니다. – dkatzel

+0

스크린 샷 추가를 고려하십시오. –

0

어쩌면 나는 너를 정확하게 이해하지 못한다. 그러나 이것은 이상하게 들린다. 아마도 당신이 왜 당신이하고 싶은지 말하면, 더 분명해질 수 있습니다. 그러나, 괜찮은 IDE에서 발견 된 표준 디버거를 사용하지 않으려 고 시도한 경우이를 시도하고 원하는 것인지 확인해야합니다. 변수를보고 내용이 어떻게 변하는 지 확인할 수 있습니다.

class MyVarWrapper { 
    private int myVar; 
    public void MyVarWrapper(int n) { 
    myVar = n; 
    } 

    public int getMyVar(String info) { 
    System.out.println(info); 
    return myVar; 
    } 
} 
: 이것은 당신이 코드에서하고 싶은 일이 있다면

그러나, 당신은 객체의 변수를 포장 및 출력이 같은 호출 될 때마다 몇 가지 정보를하고자 특별한 getter 메소드를 작성 시도 할 수 있습니다

조금 복잡해 보일 수도 있지만 정보는 결국 제한됩니다.

+0

코드를 실행하거나 코드를 변경하고 싶지 않습니다. 나는 당신이 말하는 것을 시도하기 위해 코드를 실행해야한다고 생각합니다. –