Intellij IDEA远程调试Tomcat和Spring Boot项目

有时候会遇到一些bug,测试环境重现不了,需要在预演或者生产上才出现,因此需要通过远程调试方式连接过去,可以单步调试问题。

单步调试会中断并等待,如果是生产问题,可以单独再启动一个生产一样的JVM做测试。

Tomcat配置

启动Tomcat调试

Tomcat默认支持单步调试,因此只需要开启即可:

# Windows
catalina.bat jpda start
# Linux
./catalina.sh jpda start

实际Tomcat的命令行参数:

# Tomcat中配置
-agentlib:jdwp=transport=%JPDA_TRANSPORT%,address=%JPDA_ADDRESS%,server=y,suspend=%JPDA_SUSPEND%
# 常用调试:
java -jar -agentlib:jdwp=transport=dt_socket,address=0.0.0.0:8000,server=y,suspend=n xxx.jar

相关bat源码:

if not ""%1"" == ""jpda"" goto noJpda
set JPDA=jpda
if not "%JPDA_TRANSPORT%" == "" goto gotJpdaTransport
set JPDA_TRANSPORT=dt_socket
:gotJpdaTransport
if not "%JPDA_ADDRESS%" == "" goto gotJpdaAddress
set JPDA_ADDRESS=localhost:8000
:gotJpdaAddress
if not "%JPDA_SUSPEND%" == "" goto gotJpdaSuspend
set JPDA_SUSPEND=n
:gotJpdaSuspend
if not "%JPDA_OPTS%" == "" goto gotJpdaOpts
set JPDA_OPTS=-agentlib:jdwp=transport=%JPDA_TRANSPORT%,address=%JPDA_ADDRESS%,server=y,suspend=%JPDA_SUSPEND%
:gotJpdaOpts
shift
:noJpda

自定义Tomcat调试参数

默认情况下,Tomcat调试参数监控:localhost:8000

如果需要自定义,可以另外编写一个bat/sh文件,或者修改catalina.bat文件,添加

# 自定义端口
set JPDA_ADDRESS=localhost:8001
# 上面这种配置只能localhost访问,远程访问一般都不在自己的机器上,需要配置成:
set JPDA_ADDRESS=0.0.0.0:8001

Intellij IDEA远程调试

在IDEA中添加一个运行配置,选择【Remote JVM Debug】:

Intellij IDEA远程调试Tomcat和Spring Boot项目

配置远程Tomcat监听的地址:

Intellij IDEA远程调试Tomcat和Spring Boot项目

连接成功之后可以看到提示信息:

Connected to the target VM, address: 'localhost:8000', transport: 'socket'

Intellij IDEA远程调试Tomcat和Spring Boot项目

然后就可以打上断点,单步调试了。

Spring Boot工程远程配置

微服务一般通过jar包启动,因此在jar包启动参数中添加

java -jar -agentlib:jdwp=transport=dt_socket,address=0.0.0.0:8000,server=y,suspend=n master-service-provider.jar
# 可以看到输出就可以了,注意,jar包参数要在最后
# Listening for transport dt_socket at address: 8000

然后就可以通过Idea链接过去了,和Tomcat工程连接方式一样。

Intellij IDEA远程调试Tomcat和Spring Boot项目

看到连接成功的消息就可以调试了。

Connected to the target VM, address: 'localhost:8000', transport: 'socket'

给TA打赏
共{{data.count}}人
人已打赏
运维

群晖NAS使用最新calibre-web并配置豆瓣元数据

2024-11-19 10:37:22

运维

VueJS的H5包装成Cordova APP

2024-11-19 10:37:26

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索