远程项目报错,可是经过日志等手段无法定位问题,只能提供远程调试的方式定位问题。java
业务有本身的端口,而为了可以调试业务,须要另外开启一个端口用于调试。服务器
在java虚拟机设置中增长以下配置:eclipse
JAVA_OPS="$JAVA_OPS -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=9787"socket
-Xrunjdwp加载JDWP的JPDA参考执行实例;debug
transport用于在调试程序和VM使用的进程之间通信;调试
dt_socket套接字传输;日志
address=9787标示调试端口;server
server=y标示VM是否须要做为调试服务器执行;blog
suspend=y是否在调试客户端创建链接以后启动VM,若是设置为y,则有以下日志:进程
Listening for transport dt_socket at address: 9787
直到本地也启动工程。
以debug模式启动业务,好比使用eclipse
启动本地业务以后,就能够在本地业务代码中直接增长断点,而后调用远程业务,就能够自动在本地进行代码调试。
注意:本地工程代码要与远程运行项目的代码彻底一致,不然会有调试行不对应的状况。