idea基于jdwp远程debug参数设置

平时的应用开发之中存在需要远程debug测试环境的需求,java自身也提供了类似的功能,通过socket连接到远程以debug模式启动的应用并在本地调试;

1、本地ide配置(以idea为例)

idea基于jdwp远程debug参数设置_第1张图片

配置参数
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000

2、远程程序启动参数配置

在另外部署的服务上启动程序时以debug模式启动,并配以参数
idea基于jdwp远程debug参数设置_第2张图片

配置参数
-Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8000,suspend=n

3、本地监听并调试

idea基于jdwp远程debug参数设置_第3张图片

4、远程debug参数说明

序号 参数 必须(y/n) 可选值 说明
1 -Xdebug y jvm在调试模式下启动
2 -Xnoagent n 禁用默认sun.tools.debug调试器
3 -Djava.compiler n NONE 因为是调试场景,故而不需要编译耗时比较久的JIT,此参数用来禁用JIT编译,只使用解释器转译
4 -Xrunjdwp y 使用jdwp进行通讯
5 transport y dt_socket
dt_shmem
dt_socket基于套接字传输,dt_shmem基于共享内存
6 server n y/n jvm是否以server模式运行
7 address y 8000 服务器暴露的端口号,客户端可通过此端口连接
8 suspend n y/n 服务端jvm是否在客户端启动之后启动
9 onthrow n 产生指定类型的异常时jvm会被中断并进行调试
10 launch n 当jvm被中断时执行的可执行程序

参考文档:

jdwp协议:
1)、https://www.jianshu.com/p/134bd5b913c5
2)、https://blog.csdn.net/wanzt123/article/details/82793023/

你可能感兴趣的:(Java,Developer,debug,java)