我有一个java类,我需要调试它(放置断点并继续使用F6)。我正在使用ANT脚本来初始化,构建,部署和运行代码。我正在使用:
<javac srcdir="${src.dir}" destdir="${classes.dir}" debug="true" debuglevel="lines,vars,source">
..........
</javac>
但是当我将断点放在我的foo.java类中的一行中并运行ant脚本(运行部分,右键单击运行 - &gt; Debug As - &gt; Ant Build)时,Eclipse不会停在那行代码处。
我错过了什么?!
答案 0 :(得分:49)
(无法对给定答案发表评论,因此必须另外回答)
我意识到从Eclipse启动Ant时,你必须将fork =“true”添加到<java>
任务中。另外,我首先不清楚如何编写嵌套的jvmargs,所以这里举个例子:
<java classname="..." fork="true">
<jvmarg value="-Xdebug" />
<jvmarg value="-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5432" />
...
</java>
答案 1 :(得分:30)
在<java>
ant任务中,您应该添加两个jvm参数(<jvmarg>
IIRC)以打开调试:
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5432
这将启动打开调试的java程序,程序将准备接受端口5432上的调试器连接。然后,您应该使用IDE的远程调试工具并指示它连接到端口5432.
答案 2 :(得分:4)
在Eclipse中:
Toolbar > External Tool Configurations... > (select your existing ANT build or create new) > JRE tab
在“VM Arguments”中添加:
-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
现在在“外部工具配置”中启动“ ANT任务”(等待远程Java应用程序调试器连接),然后启动“ Debug Ant “来自” Debug “工具栏图标。
答案 3 :(得分:3)
This is how I got it working for me(只是评论以备参考)。
答案 4 :(得分:2)
这是为了帮助那些想知道如何调试使用ant构建和部署的Web应用程序的人。这在遗留应用程序中非常频繁。如果项目以“动态Web项目”作为开头启动,则以下步骤甚至不需要Ant。
在代码中设置断点。
Window -> Show View -> Others -> Servers
例如,添加服务器JBoss或Tomcat。
右键单击服务器并选择“Debug”。
确保在ant build文件中设置了debug =“true”。
答案 5 :(得分:2)
set ANT_OPTS=%ANT_OPTS% -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5432
Eclipse中的
Toolbar >> Run >> Debug Configurations >> + >>
给出值:
Name: Debug_Ant
Project: active-eclipse-project
Host:localhost
Port:5432
答案 6 :(得分:1)
步骤:
1)配置远程java调试器,本地主机为名称,端口地址为 8000 (或者系统的端口地址)
2)创建批处理文件并将其保存在tomcat的bin文件夹中(当我们要远程调试服务器在同一系统中时,需要执行此步骤。)
在批处理文件中你应该保留这一行:
设置JPDA_ADDRESS = 8000
设置JPDA_TRANSPORT = dt_socket
catalina.bat jpda start
之后在你的java代码中保留一个断点,并调试这个远程调试器。它会起作用。
快乐编码!!
答案 7 :(得分:0)
我也遇到了这个问题,我按照以下步骤解决了问题。
将以下行放在ANT文件中
转到调试配置 - &gt;远程java应用程序 - &gt;使用项目名称port = 5432创建新配置文件,host为localhost并保存。
现在使用调试模式运行你的build.xml,然后你应该在控制台中看到&#34;在地址5432&#34;
现在运行您配置的调试配置文件。现在你的selenium代码将使用Debug模式运行。
希望这有帮助。
如果您仍然遇到问题,请告诉我,以便我可以帮助您。
由于