一、背景
日常项目中,通常我们的代码都是部署到远程的服务器,有时线上出现了问题,
经常需要我们增加一些日志来排查问题,但是如果是测试环境的场景下或者我们能进行远程调试的话,
我们就可以使用远程的debug方式进行远程调试,不用频繁的修改代码部署到远程服务器上。
这时就需要我们的服务需要开启远程debug了。
二、相关图示说明
三、具体操作步骤
1、服务端配置
通常debug模式是关闭的,如果没有特地打开的话,通常是通过设置jvm启动参数来实现。
你可以使用以下参数来启动java程序,并开启调试功能:
-xdebug -xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8888(debug监听端口号)
进行java -jar后面进行启动,代表我们的服务端开启的debug模式,并监听了8888的端口。
备注:
- suspend 参数如果设置为 y,则表示在调试客户端连接之前,jvm 会暂停执行;
- 如果设置为 n,则表示即使没有调试客户端连接,jvm也会继续执行。
2、客户端配置
如果你想在本地机器上的8000端口监听调试请求,可以这样启动java程序:
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8888(远程的debug服务端口)
在idea的应用下可以用这个方式进行设置:
添加一个远程debug, 然后配置好对应的服务端的端口:
然后选择对应服务器的代码,使用debug的模式进行启动,这样本地就能连上远程的服务开始debug了。
后面的操作就跟本地debug一样,选择需要断点的代码,进行断点操作即可。
总结
至此java服务开启debug的远程调试就介绍完了。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论