当前位置:   article > 正文

idea线上debug_idea线上调试

idea线上调试

1. 为什么需要线上debug

在微服务开发中,开发的服务可能会依赖数据库、消息队列等资源,也有可能依赖其他的服务,这些服务又有新的依赖,或同一套代码本地环境没问题测试环境出问题无法复现,这种情况下,在自己的开发环境中完全模拟测试、线上环境变的极其困难。

之前的传统做法是:查看异常日志,根据日志定位到出错代码,然后再根据相关参数及异常信息进行推断。但是很多异常问题需要更细致的进行debug才能够更精准的去定位和解决,这种情况下,我们希望能够像在本地调试一样去debug线上/测试环境的代码,这样可以大大提升bug修复的效率。IDEA 远程调试为我们提供了解决方案,像运行本地代码一样调试远程主机上的程序,以排查远程程序的BUG或代码执行流程。

2. 基本原理

本机和远程主机的两个 VM 之间使用 Debug 协议通过 Socket 通信,传递调试指令和调试信息。
被调试程序的远程虚拟机:作为 Debug 服务端,监听 Debug 调试指令。jdwp是Java Debug Wire Protocol的缩写。
调试程序的本地虚拟机:IDEA 中配置的 Remote Server,指定 Debug 服务器的Host:Port,以供 Debug 客户端程序连接。

3.远程调试配置

3.1 1. 融合云增加JVM参数

-Xdebug 
-Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n
  • 1
  • 2

在这里插入图片描述

3.2 idea配置

在这里插入图片描述
Host:融合云对应实例 PodIp
Port:融合云JVM中 address端口
Use module classpath:选择需要远程调试的代码

在这里插入图片描述
启动远程调试
在这里插入图片描述

4. 注意

  1. 服务器代码必须与本地代码版本保持一致,否则远程调试可能串行。
  2. 本地断点会拦截所有测试环境的断点请求,后续请求会阻塞,请谨慎增加。

附录

1.IDEA 远程断点调试 debug

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/613316
推荐阅读
相关标签
  

闽ICP备14008679号