Tomcat远程调试

Linux下

连接:http://stackoverflow.com/questions/3835612/remote-debugging-tomcat-with-eclipse#userconsent#

将本地工程打成war包,放到远端tomcat上,

在catalina.sh文件中加一句话:

JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=9001,server=y,suspend=n"

需要改的就只是这个端口,这个端口就是用来远程调试监听的端口,并不是tomcat发布服务的端口8080。

在远程端执行命令:[root@localhost bin]# sh catalina.sh jpda run或者./catalina.sh jpda run

141719_Aai6_3298044.png

141730_6KQl_3298044.png

可以看到输出了一段监听端口9001,这个就是我们刚才配置的端口号

现在打开eclipse。

选中需要远程调试的项目,右键:

141750_FPp6_3298044.png

141758_tptb_3298044.png

选中java application右键,new一个

141822_7Yed_3298044.png

Name:显示在左边remote java application下的一个名字,可随意

Project:需要远程调试的项目

Host:远程主机地址

Port:监听端口,也就是我们刚配置的9001

然后apply,debug

断点设置好,直接访问页面就可以进入调试。

注意:这里调试的时候一定要保证打包的代码和本地的代码是一致的,行号都要一样,这个调试是根据本地的代码的断点在多少行来确定远程代码停在多少行,如果本地代码行数有变,刚好打断点的这行在远端是空行或者注释,则相当于没有断点。调试过程中执行的始终是远端的代码,执行下一步的时候远端代码下一行行号是多少,本地就停在第几行。所以如果代码不一致的话可能会导致远端执行下一行的时候,本地刚好停在了注释或者空行上。

windows下

新建debug.bat文件(由于可能会有编码方式的影响,建议直接复制一个.bat文档然后将内容清空)。

内容写:

SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8899

startup

 

 

 

 

142400_V3sw_3298044.png

双击运行即可。

Springboot远程调试

Springboot构建的项目直接是jar包,所以远程调试更简单,

直接使用命令运行:

java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8000,suspend=n -jar aaa.jar

142457_SUcJ_3298044.png

Eclipse端调试与上面的调试方式一样。

Springboot还可以使用自带的spring-boot-devtools进行调试,操作方式未知(未学),但是个人感觉直接用命令的更简单。

转载于:https://my.oschina.net/wtkid/blog/1540447

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值