引用了第三方的包,调试是看不到运行流程,于是想到了idea的remote方法
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9002
写一个.sh文件并启动
nohup java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9002 ./demo.jar &
下面就来用idea远程调试服务器,启动后idea控制台就会提示:
Connected to the target VM, address: '云服务器ip:9002', transport: 'socket'
在idea中需要的地方打上断点,你就可以愉快的调试了。
当你关闭debug时,服务器上日志就会出现:
Listening for transport dt_socket at address: 9002
到这里就说完了,剩下的就是注意事项了
1、如果服务器开启防火墙,要记得打开端口号9002
2、注意本地的代码要和服务器一致,这个你懂的
3、当idea debug启动报错:Error running 'remote': Unable to open debugger port (云服务器ip:9002): java.net.ConnectException "Connection refused: connect", 请检查你的服务是否正常启动。