2017-11-08 22 views
0

Javassist를 사용하여 클래스가 컴파일 된 직후 메소드의 시작 부분에 일부 코드를 정적으로 추가하십시오. 예 :Javassist 수정 된 Java 메소드를 디버그하는 방법

public String getFoo() { 
    // add some code here 

    return "foo"; 
} 

Eclipse 디버깅에서 추가 된 코드를 볼 수 없습니다. Eclipse가 원본 소스 대신 컴파일 된 코드를 표시 할 수있는 방법이 있습니까?

어떻게 디버깅하나요?

답변

0

일단 CtClass를 만들었 으면 CtClass.writeFile을 호출하여 결과 Java 클래스의 바이트 코드를 저장할 수 있습니다. 그런 다음 java 디 컴파일러를 사용하여 소스를 볼 수 있습니다. 생성 된 소스가 완벽하지는 않습니다 (아마도 컴파일되지 않을 것입니다). 그러나 그것은 여러분에게 무슨 일이 일어나고 있는지에 대한 좋은 아이디어를줍니다. IntelliJ (커뮤니티 에디션)에 내장 된 디 컴파일러를 사용하지만 일부 인터넷 검색은 몇 가지 다른 옵션을 제공합니다.