Arthas之使用jad命令反编译已加载类的源码

1,006 阅读1分钟

参数说明

参数名称参数说明示例
class-pattern类名表达式匹配com.HelloArthasService
[c:]类所属ClassLoader的hashcode
[classLoaderClass:]指定执行表达式的ClassLoader的class name
[E]开启正则表达式匹配,默认为通配符匹配

使用参考

jad com.HelloArthasService

反编译时只显示源代码

默认情况下,反编译结果里会带有ClassLoader信息,通过--source-only选项,可以只打印源代码。

jad --source-only com.HelloArthasService

反编译指定的函数

jad com.HelloArthasService hello

反编译时不显示行号

jad com.HelloArthasService hello --lineNumber false

反编译时指定ClassLoader

当有多个ClassLoader都加载了这个类时,jad命令会输出对应ClassLoader实例的hashcode,然后只需要重新执行jad命令,并使用参数-c <hashcode> 就可以反编译指定ClassLoader加载的那个类了