IDEA远程debug|attach and listen

零.Pre

当项目部署在公司机器上或者测试环境中(使用人数较少)时,由于开发机器和部署机器的架构不同,操作系统不同,以及其他不可控因素,会导致我们在开发过程中本机调试是完全可以的,测试用例也可以完全cover,但是部署到测试环境中就会有各种各样的问题。

那么,我们排查问题就会比较困难,而Idea的远程debug功能中的attach to remote JVM可以让我们的本地idea连接到远程的服务中,然后就可以通过在本地IDEA代码中打断点,就可以拦截到访问远端服务的请求了,这样就可以直观的查看具体请求的参数了。

还有一种是当我们的程序不是一个持续交互的springboot项目,只是一个单纯的jar包之类的(比如:配置驱动的应用程序)

举例:java -jar xxx.jar 自定义的参数

java -jar xxx.jar --projectId=xxx --args=xxx

这种往往只是根据启动传入的参数,执行一次然后程序就结束。那么,attach的情况不适用了,listen是可以监听项目的整个生命周期,完全就可以适用。

一、Attach

1.远程项目部署命令

在远程的机器上部署命令需要更改 java -jar 后面需要添加:-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9080

例子:(见参考文章的3.2)

java -jar -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9080 -Dserver.port=8080 -Dfile.encoding=utf-8 xxx.jar

2.IDEA配置Remote JVM Debug

见参考文章的4

3.启动远程debug功能

在期望debug的方法处打上断点后,点击debug启动项目:

当请求远程的对应接口时,就会在指定断点阻塞了~当然也可以查看任何你想看的参数了。

(可能此方法的不好之处,就是百万级别的QPS不适用,因为它debug确实也会阻塞整个程序~)

二、listen

与attach类似,配置也类似~

listen可以监听整个项目包括启动时到最后程序结束。

所以,符合配置驱动的应用程序~

1.远程项目部署命令

同上一.1

2.IDEA配置Remote JVM Debug

绿色为常规步骤,只有红色选择模式有所区别:选择listen

3.启动远程debug功能

同上一.3

参考文章

IDEA远程DeBug调试_idea 远程调试-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Chao_nengli

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值