序言
天街小雨润如酥,草色遥看近却无。
记录IDEA远程调试过程。随时更新,参考yz。
环境准备
点击工具栏的Add Configuration...
,点击左侧的+
号,选择Remote
,如下图:
创建之后,复制这段命令,记得要改成suspend=y
。
开始调试
有源码调试
这里在IDEA自带的终端里演示(系统shell当然也可以):
cd classes:
输入这条命令java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 com.sec.Test
注意末尾是你的包名类名,执行后终端会等待debug,这时候下断点可以看到终端里会配合输出。
无源码 只有jar包
这种需求更加常见,对于jar包里的代码,下端点调试的想法会更多,记录一下。
首先,这里我是一个maven项目,mvn clean package
即可,当然你直接shell打包也行:
1 | cd src |
对于打包好的jar包,可以放在当前的IDEA项目下,右键->add as library,可以直接反编译源码
打开jar包,在想看的地方下端点
执行命令:
1 | java -agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005 -cp Test.jar com.sec.Test |
点击小甲虫就完事了:
审计部署在服务器上的jar包
服务器启动命令行:
1 | java -Xdebug -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar xxx.jar |