请告诉我如何使用eclipse中附带的源代码调试任何jar文件。
当我尝试调试它时,实现已根据需要完成,但控件从未到达断点。
答案 0 :(得分:19)
或者如果您想要执行更多步骤:
答案 1 :(得分:6)
你试试这个:
首先使用JD(Java Decompiler)打开jar文件,然后单击File - >保存JAR源,它将成为包含java源文件的.zip文件。然后,您可以使用add source在调试配置中添加此源zip文件。它肯定会有用。
在调试jar文件类时,我也遇到了类似的问题。但经过上述程序后问题得到了解决。
答案 2 :(得分:4)
使用以下命令启动你的jar:
java -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=y -jar [JAR NAME]
它应该陈述如下:
Listening for transport dt_socket at address : 8000
在eclipse中,创建一个" 远程Java应用程序"调试配置并添加jar的模块。
答案 3 :(得分:2)
我已经多次这样做了,它对我来说很好。确保已将调试点放在正确的位置。可能是因为某些条件代码将无法访问,此时调试点将不会生效。将调试点放在方法的调用语句中,即调用jar类的方法。如果控制到达那里,那么press F5
进入jar文件类中的方法。如果控制没有到达那里意味着你在代码中有一些条件阻止调用该方法,因此你无法到达方法中的断点。
答案 4 :(得分:0)
“解决方法是转到PDE'目标平台'首选项页面并禁用 所有外部插件。它们导致了问题,因为模型 应该防止“双胞胎”出现的同步器不起作用 适当“。
参考链接 - https://bugs.eclipse.org/bugs/show_bug.cgi?id=22961 评论#10。
上述解决方法对我来说效果很好。
答案 5 :(得分:0)
单击“附加源”按钮,您将看到此页面。
如果工作空间中有源代码,则可以通过这种方式直接选择。
如果源代码位于外部位置,请选择外部文件夹,然后选择源代码的src。
如果正确添加了源,则可以调试这些文件。
答案 6 :(得分:-1)
使用Eclipse版本Oxygen.2(2017),以下程序对我来说是成功的。
使用Xdebug
和Xrunjdwp
开关启动要调试的应用程序。
cd "C:\Program Files\Test_742\Test 7.4"
test_app.exe -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8500
在Eclipse中创建一个新工作区。
使用File创建一个新的Java项目 - >新 - > Java项目。
将Jar的源代码复制到调试到新项目的src文件夹。我发现有必要确保将源代码的完整文件夹层次结构复制到源文件夹中。
对我而言,这意味着将\ com \ test ...复制到我的src文件夹。
这会将所有源代码放在构建路径中。
将任何依赖项JAR复制到项目中。我创建了一个名为myJARs的新文件夹。
刷新Package Explorer以查看新的myJARs文件夹。
通过打开File - >将依赖项JAR添加到构建路径属性 - > Java构建路径 - >库(选项卡),然后单击添加JAR ...
将每个依赖项JAR添加到列表中,然后单击“应用并关闭”。这会将JAR添加到Referenced Libraries。
配置调试会话。点击运行 - >调试配置 - >远程Java应用程序。我设置Connection Type = Standard
。
配置主机以指向运行JAR和端口的计算机指向命令行开关的address
部分中指定的端口(在我的示例中为8500)。
请注意,在“源”选项卡上,存在源文件和依赖项JAR。
单击“应用”,然后单击“调试”。
单击Window - >查看调试透视图。透视 - >开放视角 - >调试。
在源代码中放置断点。