的Eclipse不停止在断点:

问题描述:

我已经在Tomcat中定义的setenv.bat远程Java调试(本地完成)9,其内容如下:的Eclipse不停止在断点:

CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n" 
JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n" 

在Eclipse我已经安装了新的远程Java右键点击我的项目并设置主机为localhost,端口为8000。 没有检查allow termination of remote VM

这里有几个步骤我下面:

我从Eclipse中的Servers tab停止Tomcat服务器。

我从命令行开始使用tomcat使用catalina jpda start。服务器在单独的命令窗口中成功启动。

我把一个破发点中的代码Eclipse和运行我的web服务像下面的邮差:

http://localhost:8080/myProject/search?id=1234

什么也没有发生在Eclipse中。基本上eclipse不是以调试模式开始的。我需要为 做些什么额外的设置使其工作?我记得几年前我做了一个调试窗口,但现在无法回忆起来,并找出我正在做什么错误。

如果你如下编辑setenv.bat,

rem CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n" 
rem JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n" 
set JPDA_SUSPEND=y 

那么你能武官调试器?

+0

我试着这样做,并在Tomcat的窗户,我看见'在地址监听运输dt_socket运行'卡塔利娜JPDA start'后:8000',没有别的了很长一段时间。你能告诉我提出这种方法的原因吗?谢谢 – Dan

+0

setenv.sh(在Linux上)不需要'export'命令,但setenv.bat(在Windows上)需要'set'命令。如果你可以看到'在地址:8000'处侦听传输dt_socket,那么你也可以调试调试器。如果此时不能调试调试器,则您的eclipse设置或中断点位置错误。 *我应该回答'set JPDA_SUSPEND = n'。 –

这里有一些缺失的链接。

在从命令提示符开始之前,您是否确保部署了您的Web应用程序? 通过Eclipse Servers插件部署应用程序时,可以选择与部署相关的三个选项。现在,对于你在eclipse中停止的服务器,你选择了哪一个选项? See the Server Locations side on the left side

如果您选择在tomcat根目录中进行部署,则您尝试从命令提示符进行调试并连接远程调试器的操作将会生效。其他两种模式不会通过在那里部署您的Web应用程序来更改您的Tomcat安装目录,因此您的URL可能实际上不会调用任何类(并且将返回404)。所以你们在你的类中设置了一个调试点,假设它们被部署了,那么请重新检查。

编辑:由于Catalina外壳文件正在更改,因此撰写此答案时的推论是您正在使用Tomcat安装目录。

[编辑]在下面的评论之后。下面的两个选项会帮助你去通:

  1. 更改部署到实际的Tomcat安装,然后根据你上面提到的,附加在服务器选项调试

  2. 使用Eclipse WTP调试。

+0

谢谢。我的结局与我提到的截图完全相同。所以我在eclipse中提到的服务器是 ,我试图用'cataline jpda start'在调试模式下启动服务器。这里是图片的截图: https://i.stack.imgur.com/QQBkU.png – Dan

+0

所以当你说三个选项时,我想知道我失去了什么。至于 项目部署而言,当我右键单击我的服务器(从服务器选项卡),然后单击“添加和删除”,我可以在Configured部分看到我的项目 。这是我从Eclipse启动服务器时如何部署Web应用程序。如果您要求 有所不同,请纠正我。再次感谢。 – Dan

+0

对于评论1:如果你的服务器没有进行实际的安装,那么修改安装中的批处理文件或shell文件不会起作用吗? 评论2.当您右键单击并启动服务器时,将引用来自tomcat安装的库,但eclipse WTP通过将文件放置在单独的文件夹中来假定部署。对于特定位置,仔细查看您的elipse控制台。在您的工作区的meta文件夹中,可以找到具有该名称的插件文件夹。这就是所有的右键单击和部署文件所在的位置。 eclipseWTP使用APi调用正在启动Tomcat。 –