震惊,你居然不会远程DEBUG调试

举报
object 发表于 2022/06/08 10:18:57 2022/06/08
【摘要】 偶然学习看见一遍博客,才知道有远程debug调试的一种技术,其实,之前查找服务端bug的时候,就一直希望有这么一种技术,而不是每次都依靠查看日志,当然大多数时候,依靠日志就足够了,合理的输入日志,比起debug能更快更好的定位问题。主要的步骤,参考也不是特别复杂1.引入web依赖 最好是2.2.6.RELEASE以上的<dependency> <groupId>org.springfra...

偶然学习看见一遍博客,才知道有远程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,并输入相应的端口号

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3rzwtdYm-1623688298229)(image-20210613230023399.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l0edF9KU-1623688298231)(image-20210613230200362.png)]

然后启动该服务。

5.断点调试

注意此时打开的项目一定是和服务器一致的

在代码里,打上相应的断点,然后访问服务器接口即可。此时就会和本地调试一样

调整相应的参数,服务也会跟着调整

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。