震惊,你居然不会远程DEBUG调试
偶然学习看见一遍博客,才知道有远程debug调试的一种技术,其实,之前查找服务端bug的时候,就一直希望有这么一种技术,而不是每次都依靠查看日志,当然大多数时候,依靠日志就足够了,合理的输入日志,比起debug能更快更好的定位问题。
主要的步骤,参考也不是特别复杂
1.引入web依赖 最好是2.2.6.RELEASE以上的
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
2.打包成可监听jar包
加入插件,maven打包即可
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<jvmArguments>-Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n</jvmArguments>
</configuration>
</plugin>
各自的含义如下
-Xdebug 通知JVM以debug方式运行
-Xrunjdwp 通知JVM使用运行调试环境,后续都是它的一系列属性参数
transport:数据传输方式 dt_socket socket模式传输 ,dt_shmem指共享内存
address:调试服务器的端口号,客户端连接使用
server:是否作为调试服务器
suspend:是否调试客户端
3.启动代理监听jar包
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar xxx.jar 启动刚刚打包的jar包
如果出现 则说明启动成功
4.使用IDEA,Remote方式启动
在启动方式中选择remote,并输入相应的端口号
然后启动该服务。
5.断点调试
注意此时打开的项目一定是和服务器一致的
在代码里,打上相应的断点,然后访问服务器接口即可。此时就会和本地调试一样
调整相应的参数,服务也会跟着调整
- 点赞
- 收藏
- 关注作者
评论(0)