Closed gaofeng36599 closed 4 years ago
容器使用的是weblogic
路径处理错了qunar/tc/bistoury/commands/decompiler/DecompilerTask.java:148,我改下
您好,
部分类可以进入反编译后的类,但是方法内全部显示“// $FF: Couldn't be decompiled”
部分类点击“调试”,提示“反编译失败”,后台报文如下:
[16:40:14 [bistoury-agent-netty-thread-1] QTraceId[] INFO q.t.b.remoting.netty.RequestHandler] - agent receive request: id=191224.164014.9.1.183.120.16434.79, sourceIp=/9.1.183.120:9880, code=202
[16:40:14 [bistoury-agent-netty-thread-1] QTraceId[] INFO q.t.b.agent.common.pid.PidUtils] - get pid by PidBySystemPropertyHandler success, pid is 15888
[16:40:14 [bistoury-agent-netty-thread-1] QTraceId[] INFO q.t.b.remoting.netty.TaskProcessor] - receive arthas command, id [191224.164014.9.1.183.120.16434.79], command [jarclasspath com.gf.test.checking.controller.impl.AccCheckPayToAntControllerImpl -pid15888]
[16:40:14 [log-agent-exec-0] QTraceId[] INFO q.t.b.remoting.netty.TaskProcessor] - arthas command finish, id [191224.164014.9.1.183.120.16434.79], command [jarclasspath com.gf.test.checking.controller.impl.AccCheckPayToAntControllerImpl -pid15888]
[16:40:14 [bistoury-agent-netty-thread-1] QTraceId[] INFO q.t.b.remoting.netty.RequestHandler] - agent receive request: id=191224.164014.9.1.183.120.16434.80, sourceIp=/9.1.183.120:9880, code=203
[16:40:14 [bistoury-agent-netty-thread-1] QTraceId[] INFO q.t.b.remoting.netty.TaskProcessor] - receive decompiler command, id [191224.164014.9.1.183.120.16434.80], command [DecompilerCommand{className='com.gf.test.checking.controller.impl.AccCheckPayToAntControllerImpl', classPath='file:/home/weblogic/deploy_dir/test-server-0.0.1-SNAPSHOT_deploy/20191219122403/test-server-0.0.1-SNAPSHOT/WEB-INF/lib/test-service-0.0.1-SNAPSHOT.jar!/com/gf/test/checking/controller/impl/AccCheckPayToAntControllerImpl.class'}]
WARN: Method
修改后的代码还是有文件找不到这个问题吗
嗯是的,部分文件可以找到,部分文件找不到,提示“反编译失败”
qq上说吧 1139987950
通过更改文件:bistoury-master/bistoury-commands/src/main/java/qunar/tc/bistoury/commands/decompiler/DecompilerTask.java中decompile方法,添加 replace = replace.replace("zip:","jar:file:"); URL url = new URL(replace); 更改zip协议,问题解决,感谢
在“在线debug”上找到对应类,点击调试时提示如下: 反编译失败,/weblogic/deploy_dir/test-server-0.0.1-SNAPSHOT_deploy/20191219122403/test-server-0.0.1-SNAPSHOT/WEB-INF/lib/test-service-0.0.1-SNAPSHOT.jar (没有那个文件或目录)
分析agent报文发现根路径少了一个/home,详细报文如下: [14:06:16 [bistoury-agent-netty-thread-1] QTraceId[] INFO q.t.b.remoting.netty.TaskProcessor] - receive decompiler command, id [191224.140615.9.1.183.120.18588.3254], command [DecompilerCommand{className='com.gf.test.networktest.controller.impl.NetworkTestControllerImpl', classPath='file:/home/weblogic/deploy_dir/test-server-0.0.1-SNAPSHOT_deploy/20191219122403/test-server-0.0.1-SNAPSHOT/WEB-INF/lib/test-service-0.0.1-SNAPSHOT.jar!/com/gf/test/networktest/controller/impl/NetworkTestControllerImpl.class'}] [14:06:16 [log-agent-exec-0] QTraceId[] ERROR q.t.b.c.decompiler.DecompilerTask] - decompiler error, command: DecompilerCommand{className='com.gf.test.networktest.controller.impl.NetworkTestControllerImpl', classPath='file:/home/weblogic/deploy_dir/test-server-0.0.1-SNAPSHOT_deploy/20191219122403/test-server-0.0.1-SNAPSHOT/WEB-INF/lib/test-service-0.0.1-SNAPSHOT.jar!/com/gf/test/networktest/controller/impl/NetworkTestControllerImpl.class'} java.io.FileNotFoundException: /weblogic/deploy_dir/test-server-0.0.1-SNAPSHOT_deploy/20191219122403/test-server-0.0.1-SNAPSHOT/WEB-INF/lib/test-service-0.0.1-SNAPSHOT.jar (没有那个文件或目录)
请问这是什么情况导致的?