参考:

https://www.cnblogs.com/leodaxin/p/7678524.html

1. 远程调试普通程序

程序打成 jar 包,使用命令行执行:

java -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=9999,server=y,suspend=n -jar your_app.jar

参数含义:

-XDebug               启用调试。
-Xnoagent             禁用默认sun.tools.debug调试器。
-Djava.compiler=NONE  禁止 JIT 编译器的加载。
-Xrunjdwp             加载JDWP的JPDA参考执行实例。
transport             用于在调试程序和 VM 使用的进程之间通讯。
dt_socket             套接字传输。
dt_shmem              共享内存传输,仅限于 Windows。
server=y/n            VM 是否需要作为调试服务器执行。
address=3999          调试服务器的端口号,客户端用来连接服务器的端口号。
suspend=y/n           是否在调试客户端建立连接之后启动 VM 。

在 eclipse 配置调试:

 

2. 远程调试 tomcat web 程序:

参考:https://jingyan.baidu.com/article/3c48dd3488ef38e10be358c6.html

修改 startup.bat 文件,linux 环境下修改 startup.sh 文件

call "%EXECUTABLE%" start %CMD_LINE_ARGS%

改为:

call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%

 

posted on 2018-05-17 19:43  偶尔发呆  阅读(298)  评论(0)    收藏  举报