如何用Eclispe调试java -jar xxx.jar 方式执行的jar包

有时候,我们经常会需要调试 java -jar xxx.jar方式运行的代码,而不是必须在Eclipse中用Debug或者Run的方式运行。比如我们拿到的SourceCode不完整。Java提供了一种调试的机制。

1. 我们可以使用命令:

java -agentlib:jdwp=transport=dt_socket,server=y,address=8050,suspend=y -jar xxx.jar

来打开调试。运行后,它会在8050端口监听调试器的Attach的信号。

2. 然后,我们在Eclipse中添加一个调试。打开Debug-Debug Configuration-Remote Java Application. 然后New 一个新的。添加上端口。

然后点击Debug开始即可。它就会命中你所打的断点了。


注意这里填写的端口要跟前面命令里面设置的端口一样。另外,注意看一下Connect旁边的Source标签。里面可以设置在哪个目录查找源文件。也就是说,你甚至可以在没有源文件的情况下用单步跳转的方式跳进某个类去,然后再选择源文件。在android的调试中,这是比较常见的情况。

再看一下之前那个命令的解释。运行 Java 命令,会看到如下的解释:

-agentlib:<libname>[=<选项>]加载本机代理库 <libname>, 例如 -agentlib:hprof另请参阅 -agentlib:jdwp=help 和 -agentlib:hprof=help

再运行java -agentlib:jdwp=help. 可以查看JDWP支持的所有选项,不过这里并不知道 transport除了 dt_socket以外还有什么选项。

运行 java -agentlib:hprof=help, 内容比较多就不贴了。是一个CPU和内存的分析工具。


更多教程请在网易云课堂优酷腾讯视频搜索黑山老雕。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容