zen*_*ngr 41 java eclipse ant debugging
我有一个java类,我需要调试它(放置断点并继续使用F6).我正在使用ANT脚本来初始化,构建,部署和运行代码.我在用:
<javac srcdir="${src.dir}" destdir="${classes.dir}" debug="true" debuglevel="lines,vars,source">
..........
</javac>
Run Code Online (Sandbox Code Playgroud)
但是当我将断点放在我的foo.java类中的一行中并运行ant脚本(运行部分,右键单击运行 - > Debug As - > Ant Build)时,Eclipse不会停在那一行码.
我错过了什么?!
Sam*_*mpa 49
(无法对给定的答案发表评论,所以必须另外回答)
我意识到从Eclipse启动Ant时,你必须在<java>任务中添加fork ="true" .另外,我首先不清楚如何编写嵌套的jvmargs,所以这里举个例子:
<java classname="..." fork="true">
<jvmarg value="-Xdebug" />
<jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5432" />
...
</java>
Run Code Online (Sandbox Code Playgroud)
jkf*_*kff 31
在<java>ant任务中,你应该添加两个jvm参数(<jvmarg>IIRC)来打开调试:
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5432
Run Code Online (Sandbox Code Playgroud)
这将启动调试打开的java程序,程序将准备接受端口5432上的调试器连接.然后,您应该使用IDE的远程调试工具并指示它连接到端口5432.
在日食中:
Toolbar > External Tool Configurations... > (select your existing ANT build or create new) > JRE tab
在“VM 参数”中添加:
-Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y
再次 Toolbar > Debug > Debug Configurations... > Remote Java Application > New
Name: Debug Ant
Project: <Select your project where debug files are kept>
Host: localhost
Port: 8787
Run Code Online (Sandbox Code Playgroud)
现在在“外部工具配置”中启动“ ANT 任务”(等待远程 Java 应用程序调试器连接),然后从“调试”工具栏图标启动“调试 Ant ” 。