Tomcat远程调试

1      描述

1.1      背景

在项目中,会遇到一些问题,本地测试正确,测试环境测试也正确,但线上环境却出现问题,由于线上环境又缺少一些必要的问题定位手段,这时可以通过远程调试来调试程序。但原则上,我们还是尽可能通过业务逻辑、代码分析、日志定位来解决线上问题,远程调试是一把双刃剑,可能解决线上问题,但也可能导致线上出现新的问题。

本文以Tomcat7+eclipse+Centos6.5为环境,描述如何进行远程调试。

1.2      方法和步骤

1.     修改Tomcat配置

在catalina.sh中添加如下:

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为启动时暂停,方便调试启动过程

2.     修改Centos防火墙

vim /etc/sysconfig/iptables

添加一行:

-A INPUT -p tcp -m state --state NEW -m tcp --dport 8000 -j ACCEPT

然后重启防火墙使其生效(开放的端口8000需要和tomcat中配置的8000一致)

service iptables restart 

3.     使用Eclipse进行调试

1) 打开debug

153103_hF1H_238296.png

2) 设置debug

153108_OPjf_238296.png

3) 执行debug

设置完毕后,点击“Debug”按钮,在代码中打上断点,程序运行到断点后,就可以看到效果,具体如图:

点击红框内的按钮,可以取消远程调试。

转载于:https://my.oschina.net/u/238296/blog/1559873

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值