使用idea进行远程调试

  通常,线上的程序出现问题我们需要排查时,我们的方案都是通过查看日志或者在本地运行同样的代码debug进行调试。但由于环境问题往往排查的过程不是很顺利。在这里告诉大家如何通过idea在本地对线上的程序进行远程调试,只要有源代码,并且启动项目时做好配置,就可以在本机直接远程调试服务器上的代码。步骤如下:

1.项目启动时,添加以下参数,允许远程调试:

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=${debug_port}

 其中${debug_port}是用户自定义的,为debug端口本地连接远程debug端口。

注意:远程调试从技术上讲,就是在本机与远程建立scoket通讯,所以端口不要冲突,而且本机要允许访问远程端口

否则会出现以下错误信息

 2.配置idea    

  edit configurations + remote

  host处填写远程服务器的iP,端口填写debug 端口,如果包含多个module,可以选择要运行的module的名字

 

 3.测试

 1.我们这里有一个springboot项目jar包

2.执行以下命令运行jar包

java -jar -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8011 test-remote.jar

同样也可以用以下命令后台启动项目

nohup java -jar -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8011 test-remote.jar >/null 2>&1 &

3.配置好idea,debug启动

 4.这样就说明已经启动成功,我们可以直接在本地需要调试的地方打断点,然后访问线上的接口查看调试结果

5.可以发现,成功在本地进行远程调试。

 

END

posted @ 2019-11-18 18:51  少说点话  阅读(1502)  评论(0编辑  收藏
网站运行: