如何在不访问源代码的情况下调试Java应用程序?

问题描述 投票:8回答:2

我需要调试一个我没有源代码的Java应用程序。它在Jetty服务器上本地运行。使用JD-GUI进行反编译工作正常。通过套接字连接或共享内存连接JDB也可以正常工作。

我失败的地方就是将各个部分连在一起。我主要使用JD-Eclipse插件和远程调试来尝试Eclipse。我无法找到一种将调试器成功附加到正在运行的进程的方法。一切似乎都假设我至少有一部分应用程序可以作为项目中的源代码使用,但我没有。而且它是一个很大的应用程序(200多个MiB JAR文件和500多个MiB其他东西),因此除非能够轻松实现自动化,否则尝试从所有反编译的类中构建一个项目并使之运行都不是一种选择。 >

我真正需要的是能够将调试器附加到正在运行的进程,查看和导航反编译的代码,设置断点以及检查变量和对象。是否可以重新编译代码并不重要。有条件的断点和表达式评估会很不错。

我需要调试一个我没有源代码的Java应用程序。它在Jetty服务器上本地运行。使用JD-GUI进行反编译工作正常。通过套接字连接或共享内存连接JDB可以工作...

java debugging decompiling
2个回答
2
投票

您可能可以通过结合使用jd-eclipse及其扩展名jd-eclipse重新对齐片段来进行此操作。


0
投票

这里是一个可能的解决方案:

© www.soinside.com 2019 - 2024. All rights reserved.