远程debug,即debug远程机器上的Java程序,前提是本地需要有同步的代码。远程debug的步骤如下:
1.远程机器上启动java进程的时候,需加入debug参数
-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=$DEBUG_PORT,server=y,suspend=n
参数含义
-XDebug 设置jvm运行在debug模式下
-Xrunjdwp 加载JDWP(java debug wire protocol))的JPDA参考执行实例
transport 用于在调试程序和VM使用的进程之间通讯
dt_socket 套接字传输
address=$DEBUG_PORT 设置调试服务器监听的端口号,以接收debug客户端发起的连接
server=y/n 表示在远程Debug会话中作为服务端
suspend=y/n =y表示它会阻塞程序运行,直到在客户端建立连接前,服务端被挂起;=n 则不会被挂起
ps:调试JAR包时-jar参数不能写到-Xdebug参数前
2.在本地Eclipse中设置Remote Java Application
1)选择Project,右击Debug As-->Debug Configurations
2)在Debug Configurations视图中,右击Remote Java Application, 选择New
3)输入IP地址和端口号,端口号与第1步中设置的$DEBUG_PORT相同, 点击Apply
Tomcat配置远程调试端口