当把一个工程部署到远程服务器后有可能出现意想不到错误,日志打印过多或者过少都影响问题排查的效率,这个时候可以通过远程调试的方式快速定位bug,提升工作效率。本文主要讲解如何使用Idea开发工具进行远程调试,希望对你有帮助。

一、环境配置

1. 远程Tomcat配置

远程Tomcat添加启动参数并重启生效:-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

2. IDEA配置



3. 启动调试

正常debug启动,控制台看到如下字样即为连接成功,可以打断点进行调试了。

二、常见问题

1. 为什么调试断点没生效?

本地和远程代码要相同,不一样则会出现无法进入断点的情况;

如果代码一致还是无法进入,尝试重启,一般可以解决;

2. 进入断点调试之后,服务器还可以处理其他请求吗?

服务器在断点处停住了,无法处理其他请求;

3.改了本地代码可以直接debug吗?

不可以,需要部署在远程服务器之后再次启动debug;

三、远程DEBUG原理

原理:本机和远程主机的两个 VM 之间使用 Debug 协议通过 Socket 通信,传递调试指令和调试信息。

Java动态调试技术原理及实践:https://tech.meituan.com/2019/11/07/java-dynamic-debugging-technology.html

JDWP:https://docs.oracle.com/javase/8/docs/technotes/guides/jpda/jdwp-spec.html

最新文章

  1. 深入JavaScript:词法分析、连续赋值猜想
  2. Sharepoint学习笔记—习题系列--70-576习题解析 --索引目录
  3. SSIS-包调用包错误的解决方案
  4. js判断是否是微信浏览器
  5. Servlet学习一
  6. Object.prototype.toString.call() 区分对象类型
  7. innodb buffer pool flush机制
  8. choco命令
  9. 136. Single Number
  10. java的String类(一)
  11. 用PersonalRank实现基于图的推荐算法
  12. Swift开发之 使用系统的TabbarController
  13. FFmpeg之AVPacket
  14. python decorator 基础
  15. MS-DOS运行java工程
  16. 【BZOJ1816】[CQOI2010]扑克牌(二分,贪心)
  17. bzoj4503: 两个串 bitset
  18. /usr/bin/perl:bad interpreter:No such file or directory 的解决办法
  19. 【jar包删除,再添加版本更高的jar】******.jar in project cnnot be read or is not a valid
  20. [UE4]移动小地图

热门文章

  1. mindxdl--common--head_handler.go
  2. JSP利用AJAX实现页面即时校验验证码
  3. ATM分析
  4. dfs 序
  5. Vue使用axios请求接口返回成功200但是进入到catch中
  6. 进军东南亚市场,腾讯云数据库 TDSQL 助力印尼 BNC 银行数字化转型
  7. 【Shell案例】【awk、grep、sort、uniq】10、第二列是否有重复
  8. Keras网络可视化方法
  9. 最大值减去最小值小于或等于 num 的子数组数量问题
  10. SpringBoot向Excel模板中写入数据并下载 (无需获取file对象及模板绝对路径)