PS:文中容易引起歧义的地方已经做了修改;另外,本人参照以下步骤操作,结果无法调试,后来发现是breakpoints的设置。。,如图是不跳过断点,如果点击了就是跳过断点。。
1、如果要调试远程Linux下tomcat应用,配置tomcat在catalina.sh中添加如下
CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"(不要换行,要在同一行)
2、如果要远程调试Window下tomcat应用,修改catalina,bat文件,添加:
Set “CATALINA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"
如图:
参数说明:
-Xdebug : 启用调试模式
-Xrunjdwp<sub-options> : 加载JVM的JPDA参考实现库
transport=dt_socket :Socket连接,可选dt_shmem 通过共享内存的方式连接到调试服务器
address=8000 :调试服务器监听的端口
server=y : 是否是服务器端,n为客户端
suspend=n : 启动过程是否加载暂停,y为启动时暂停,方便调试启动过程
3、启动tomcat,看看tomcat是否启动成功,
如果启动成功,tomcat日志文件(catalina.out)中会有如下输出:
Listening for transport dt_socket at address: 8000
4、使用eclipse调试:
点击debug,就可进行调试了
剩下的就和普通调试一样了。断点直接在源代码中添加就行
5、可能出现的连接问题:
Failed to connect to remote VM. Connection refused.
Connection refused: connect。
出现如图所示的情况可能是已经建立了一个连接了。
解决方法:去debug透视图中,
找到点击断开链接,就可以解决问题了。