花1分钟配置远程DEBUG,开发效率翻倍,妹子直呼绝绝子

当把一个工程部署到远程服务器后有可能出现意想不到错误,日志打印过多或者过少都影响问题排查的效率,这个时候可以通过远程调试的方式快速定位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

posted @ 2023-02-09 09:23  James_Shangguan  阅读(285)  评论(0编辑  收藏  举报