Javassist如何调试修改过的java方法

时间:2017-11-08 19:18:06

标签: eclipse debugging bytecode javassist cglib

使用Javassist在编译类之后立即在方法的开头静态添加一些代码。例如,

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

    return "foo";
}

从Eclipse调试,我看不到添加的代码。有没有办法让Eclipse显示解编译的代码而不是原始的源代码?

如何调试?

1 个答案:

答案 0 :(得分:0)

一旦创建了CtClass,就可以调用CtClass.writeFile来保存生成的java类的字节码。然后您可以使用java反编译器来查看源代码。生成的源代码并不完美(它可能无法编译),但它可以让您很好地了解正在发生的事情。我使用IntelliJ(社区版)中内置的反编译器,但是一些谷歌搜索会找到其他一些选项。