0%

IDEA远程调试记录

序言

天街小雨润如酥,草色遥看近却无。

记录IDEA远程调试过程。随时更新,参考yz

环境准备

点击工具栏的Add Configuration...,点击左侧的+号,选择Remote,如下图:

image-20210315144011945

创建之后,复制这段命令,记得要改成suspend=y

image-20211227202316061

开始调试

有源码调试

这里在IDEA自带的终端里演示(系统shell当然也可以):

cd classes:

image-20210315144259091

输入这条命令java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 com.sec.Test

注意末尾是你的包名类名,执行后终端会等待debug,这时候下断点可以看到终端里会配合输出。

image-20210315144746757

无源码 只有jar包

这种需求更加常见,对于jar包里的代码,下端点调试的想法会更多,记录一下。

首先,这里我是一个maven项目,mvn clean package即可,当然你直接shell打包也行:

1
2
cd src
jar -cvf test.jar *

对于打包好的jar包,可以放在当前的IDEA项目下,右键->add as library,可以直接反编译源码

image-20210315150152050

打开jar包,在想看的地方下端点

执行命令:

1
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 -cp Test.jar com.sec.Test

image-20210315150434825

点击小甲虫就完事了:

image-20210315150524937

审计部署在服务器上的jar包

服务器启动命令行:

1
java -Xdebug -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar xxx.jar