我有一个jar文件有一些问题,我想调试它。
我在eclipse上创建了应用程序。在开发阶段,我做了调试,但与源代码。我想调试jar文件,找出错误的原因,即它可能是源代码,我有不同的jar文件或一些jar文件的问题。
您似乎想要远程调试。
使用以下命令启动jar:
java -Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=y -jar [JAR NAME HERE]
应该是这样的:
Listening for transport dt_socket at address : 8001
在eclipse中,创建"远程Java应用程序"调试配置。只要打开感兴趣的项目,配置是唯一重要的事情。将您想要调试的感兴趣的项目添加到源代码查找路径中,并将端口号设置为java启动命令中的配置地址。
当您连接到启用调试的jar启动时,您的jar将停止执行,并在遇到断点时等待调试器输入。只要确保jar和eclipse中的代码版本相同即可。
您可以使用java反编译器达到此效果。我建议jd (http://jd.benow.ca/)。
但是,您还需要包含一个重新对齐特性(http://mchr3k.github.io/jdeclipse-realign/)以匹配行号。
当然,这只有在jar文件中包含调试信息时才能工作。