Java远程调试

远程项目报错,但是通过日志等手段没法定位问题,只能提供远程调试的方式定位问题。

1. 步骤

1.1 启动调试端口

业务有自己的端口,而为了能够调试业务,需要另外开启一个端口用于调试。

在java虚拟机设置中增加如下配置:

JAVA_OPS="$JAVA_OPS -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=9787"

-Xrunjdwp加载JDWP的JPDA参考执行实例;

transport用于在调试程序和VM使用的进程之间通讯;

dt_socket套接字传输;

address=9787标示调试端口;

server=y标示VM是否需要作为调试服务器执行;

suspend=y是否在调试客户端建立连接之后启动VM,如果设置为y,则有如下日志:

Listening for transport dt_socket at address: 9787 

直到本地也启动工程。

1.2 启动本地服务

以debug模式启动业务,比如使用eclipse

 

1.3 调试

启动本地业务之后,就可以在本地业务代码中直接增加断点,然后调用远程业务,就可以自动在本地进行代码调试。

注意:本地工程代码要与远程运行项目的代码完全一致,否则会有调试行不对应的情况。

posted @ 2018-09-20 17:06  小路不懂2  阅读(636)  评论(0编辑  收藏  举报