1.远程启动项目
配置JVM参数运行
-Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=${debug_port}
启动举例:
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=80 -jar demo.jar
nohup java -Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=8189 -Dfile.encoding=utf-8 -jar demo.jar >demo.log 2>&1 &
-Dfile.encoding=utf-8可要可不要
参数含义:
-XDebug 启用调试
-Xnoagent 禁用默认sun.tools.debug调试器
-Djava.compiler=NONE 禁止 JIT 编译器的加载
-Xrunjdwp 加载JDWP的JPDA参考执行实例
transport 用于在调试程序和 JVM 使用的进程之间通讯
dt_socket 套接字传输
server=y/n JVM是否需要作为调试服务器执行
address=2345 调试服务器监听的端口号
suspend=y/n 是否在调试客户端建立连接之后启动 JVM
注意:-jar参数不能写到-XDebug参数前
2.idea配置
选择添加一个Remote,配置调试ip或域名及port端口。
use module classpath: 选择一个调试module
3.debug启动
即可断点调式
4.连接成功
注意:需要保证本地和远程代码一致
以下错误表示,没有执行jar或没有执行成功jar包,导致连接不上