前言:
我们在开发的过程中,难免会遇到调用别人机器上的代码,或者测试服务器上的代码。再调用过程中,难免会用到断点调式的功能。但是运行的不是本地的代码怎么办呢?
现在我们就来了解下Java远程断点调用。
需要:
本地必须有源码,才能进行远程断点。
一. 服务端启动
#jdk1.7版本之前的命令
#java -agentlib:jdwp=transport=dt_socket,address=9092,server=y,suspend=y -jar xxx.jar
#1.7版本之后的命令
#1) java -agentlib:jdwp=transport=dt_socket,address=9092,server=y,suspend=y -jar xxx.jar
#2) java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=9092-jar xxx.jar
我本地是jdk1.8,所以:
# nohup 末尾加&是后台运行 后边是日志输出路径
nohup java -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,address=9092,suspend=y -jar xxx.jar 1>/home/project/applogs/xxx-standout.log 2>&1 &
参数说明:
# -Xdebug:通知