开发过程中,经常会出现,本地环境运行没有问题,发布线上版本测试就会不通过的问题,代码都是同一个git库同一个分支下的,日志打印不足又无法准确观测到问题的原因,也就无法定位问题的所在点,于是只能加日志重新编译
这样定位问题非常麻烦,又苦工,现在建议使用idea远程调试的方法,本地打断点调试线上程序
java -Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=y -jar xxxxxx.jar
启动命令中间 加上这一串
-Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=y-XDebug 启用调试 -Xrunjdwp 加载JDWP的JPDA参考执行实例。 transport 用于在调试程序和 VM 使用的进程之间通讯。 dt_socket 套接字传输。 server=y/n VM是否需要作为调试服务器执行。 address=5005 调试服务器监听的端口号。 suspend=y/n 是否在调试客户端建立连接之后启动 VM 。
suspend=y/n (是否在调试客户端建立连接之后启动 VM )设置成y的话,程序会保留在建立通讯链接的时候,加载服务。
实际运行效果
打开Edit configurations… 添加Remote 在settings 配置远程链接的IP端口 启动debug 程序遍开始加载了 请求接口便可以在本地进入断点了 记得先关闭原有的程序