1 jvm参数参数介绍:
-Xdebug: 启动调试特性
-Xrunjdwp:<sub-options> 在目标 VM 中加载 JDWP 实现。它通过传输和 JDWP 协议与独立的调试器应用程序通信。下面介绍一些特定的子选项。
从 Java V5 开始,您可以使用 -agentlib:jdwp 选项,而不是 -Xdebug 和 -Xrunjdwp。但如果连接到 V5 以前的 VM,只能选择 -Xdebug 和 -Xrunjdwp。下面简单描述 -Xrunjdwp 子选项。
transport: 表示信息传递的连接方式, 其中,dt_socket是指用SOCKET模式,另有dt_shmem指用共享内存方式,其中,dt_shmem只适用于Windows平台。
server: server=y 表示是监听其他debug client端的请求
address 表示等待调试的连接网络端口
suspend 表示是否在启动目标虚拟机后挂起虚拟机,如果要调试启动过程,请使用y
参数说明:
1.1 其中 address为远程调试的端口号,目前我们服务器上8412是一个开放的端口(staging环境已验证)
1.2 -Xrunjdwp 使用jdwp(Java Debug Wire Protocol)进行调试
1.3 transport=dt_socket 使用socket方式进行连接,还可以使用其他通信方式如(dt_shmem 共享内存)
1.4 suspend=n JVM监听address端口传来的信号时不挂起JVM中运行的进程
2 步骤:
- 升级deploy2之后, 新建文件boot.ini, 增加
JVM_ARGS = -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8080这行参数到boot.ini中. 如图:
-
在下图执行操作, 选择建立remote
-
在本地配置远程调试:
-
发布成功之后可登陆机器确认一下改动是否已部署到机器:/op, 如图, 说明监听端口已经启动
-
在浏览器输入地址, 在本地打上断点就可以调试了
参考