我在tomcat 9中定义了setenv.bat
,其内容如下:
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中,我通过右键单击我的项目并将主机设置为localhost
,将端口设置为8000
来设置新的远程Java应用程序。
没有检查allow termination of remote VM
。
以下是我要遵循的更多步骤:
我从Eclipse的Servers tab
停止了tomcat服务器。
我使用catalina jpda start
从命令行启动了tomcat。服务器在单独的命令窗口中成功启动。
我在eclipse的代码中设置了一个断点,并在POSTMAN中运行我的webservice,如下所示:
http://localhost:8080/myProject/search?id=1234
Eclipse中没有任何事情发生。基本上日食不是在调试模式下开始的。我需要做的任何其他设置 让它工作?我记得几年前我做过的调试窗口打开,现在无法回想起来,弄清楚我在做什么错误。
答案 0 :(得分:0)
如果您按如下方式编辑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
然后你可以附上调试器吗?
答案 1 :(得分:0)
这里有一些缺失的链接。
在从命令提示符开始之前,您是否确保部署了您的Web应用程序? 通过Eclipse Servers插件部署应用程序时,您可以选择与部署相关的三个选项。现在,对于您从eclipse停止的服务器,您选择了哪一个选项?
只有选择在tomcat根目录中进行部署时,才能尝试从命令提示符进行调试并附加远程调试器。其他两种模式不会通过在那里部署您的Web应用程序来更改您的tomcat安装目录,因此您的URL实际上可能不会调用任何类(并将返回404)。因此,假设它们已部署,您可以在类中设置调试点,然后重新检查。
编辑:由于正在更改Catalina shell文件,因此在编写此答案时的推断是您使用的是Tomcat安装目录。
[编辑]在下面的评论之后。以下两个选项将帮助您通过:
将部署更改为实际的Tomcat安装,然后如上所述,附加调试器
使用Eclipse WTP Debug on Server选项。