2011-11-04 2 views
7

메서드 서명이 인 현재 스택 트레이 을 출력 할 수 있습니까? 인자와 리턴 타입이 다른 동일한 이름을 가진 많은 메소드를 가진 모호한 코드를 디버깅하려고합니다.Java - 메소드 서명을 사용하여 스택 추적을 출력 할 수 있습니까?

어떤 것들은 그 것이다 하지 일 :

Thread.currentThread().getStackTrace(); 
new Throwable().getStackTrace(); 
// etc.. 
+1

난독 화가되어 있고 디버깅 중이라면 코드가 어딘가에 불분명 한 버전이 있어야합니다. 그렇지 않으면 디버깅을해서는 안됩니다. –

+0

그건 다소 주관적이라고 생각하지 않습니까? – jli

+4

@JBNizet Meh, 소스가 없거나 난독 화되지 않은 라이브러리의 문제를 파악할 정당한 이유가 있습니다. –

답변

3

아니요,하지만 로깅을 추가하지 않고도 더 자세한 정보를 얻으려면 문제를 해결하는 동안 AspectJ로 계측 할 수 있습니다.

디버깅하려는 대상의 특성과 관련된 모든 데이터에 대해 얼마나 많이 알고 있는지에 따라 대상을 다소 정확하게 지정할 수 있습니다.

1

수 없습니다. stacktrace에 해당 정보가 포함되어 있지 않습니다.