JDWP(Java Debug Wire Protocol ) 是调试器与被它调试的jvm通信的协议,被调试的jvm成为目标jvm。
远程调试涉及的参数
-Xdebug
-Xrunjdwp:<sub-options>
在目标 VM 中加载 JDWP 实现。它通过传输和 JDWP 协议与独立的调试器应用程序通信。
从 Java V5 开始,您可以使用 -agentlib:jdwp=[<sub-options>] 选项,替换 -Xdebug 和 -Xrunjdwp。但如果连接到 V5 以前的 VM,只能选择 -Xdebug 和 -Xrunjdwp。
-Xrunjdwp 子选项。
transport
这里通常使用套接字传输。但是在 Windows 平台上也可以使用共享内存传输。
server
如果值为 y,目标应用程序监听将要连接的调试器应用程序。否则,它将连接到特定地址上的调试器应用程序。
address
这是连接的传输地址。如果服务器为 n,将尝试连接到该地址上的调试器应用程序。否则,将在这个端口监听连接。
suspend
如果值为 y,目标 VM 将暂停,直到调试器应用程序进行连接。
例子:
运程java应用启动配置
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8765 -jar test.jar
or
java -agentlib:jdwp=transport=dt_socket,address=8001,server=y,suspend=y -jar test.jar
eclipse中调试配置
debug...->remote java application