调试tomcat应用程序时如何在windows中启动tomcat调试端口

Posted

技术标签:

【中文标题】调试tomcat应用程序时如何在windows中启动tomcat调试端口【英文标题】:how to start tomcat debug port in windows while debugging tomcat application 【发布时间】:2016-09-22 16:01:15 【问题描述】:

调试时出现异常

Failed to connect to remote VM. Connection refused.
Connection refused: connect.

我在windows系统下试过命令

netstat -n -a -p tcp

但我的 8787 端口不存在如何启动该端口。

【问题讨论】:

【参考方案1】:

基本配置是: 在catalina.bat下的tomcat/bin文件中修改如下。

    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" 从命令提示符运行 Tomcat:catalina.sh jpda start

然后在eclipse中创建调试配置:

为配置写下任意名称。 写下项目名称。 将连接类型写入标准(Socket Attach) 主机应该是本地主机 端口为 8000(或任何端口号,但在其他地方也应该相同)。

见:Remote debugging Tomcat with Eclipse

【讨论】:

默认情况下,eclipse 现在将 1043 作为端口。我怎么不知道??当我尝试使用 eclipse UI 但现在它正在使用它定义的默认端口时? 没有其他人给出提示,所以我将通过在 bin 内的所有 .bat 文件中搜索 JPDA_OPTS 来试一试,但它应该在 catalina.bat 或 setenv.bat 中 dt_socket 端口在启动时默认为 1043 请帮助我。同时手动启动tomcat 7。 如果你手动启动它,像这样指定端口,在 windows 中:bin\startup.bat -debug 8000 然后我得到套接字错误,但在 Eclipse 端口号 1043 中配置后。手动启动时它需要 1043 作为端口号。【参考方案2】:

当作为 Windows 服务运行时,Tomcat 的命令行选项可以存储在注册表中 HKLM\Software\Wow6432Node\Apache Software Foundation\Procrun 2.0\TomcatServiceName 路径(对于 64 位操作系统)和 HKEY_LOCAL_MACHINE\Software\Apache Software Foundation\Procrun 2.0\tomcat8(对于 32 位操作系统)。

见Where does Tomcat7w.exe store Settings on Windows。

可以通过运行bin\tomcatw.exe查看和更改这些设置。

【讨论】:

以上是关于调试tomcat应用程序时如何在windows中启动tomcat调试端口的主要内容,如果未能解决你的问题,请参考以下文章

windows调试本地启动的tomcat

maven的tomcat插件如何进行debug调试

[JavaWeb]_[初级]_[使用IntelliJ IDEA进行远程Tomcat调试]

[JavaWeb]_[初级]_[使用IntelliJ IDEA进行远程Tomcat调试]

使用 jdb 调试 Java servlet。如何将 jdb 与 Tomcat 连接

如何调试/记录 Tomcat JDBC 连接池的连接?