java远程调试
2019-01-20 本文已影响0人
一路花开_8fab
什么是java远程调试
两个VM之间通过debug协议进行通信,然后以达到远程调试的目的。两者之间可以通过socket进行通信。
其中,调试的程序常常被称为debugger, 而被调试的程序称为 debuggee。
远程调试的配置
intellij中通过Add Configuration添加Remote配置
image.png image.png
- Debugger mode
Attatch to remote JVM:此种模式下,调试服务器启动一个端口等待调试客户端去连接
Listen to remote JVM:此种模式下,调试客户端去监听一个端口,当调试服务器准备好了,就会进行连接。 - Host
调试服务器真实的ip地址 - jvm 参数 -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
- transport=dt_socket 调试客户端和调试服务器之前通过socket传输
- server=y/n VM是否需要作为调试服务器执行;
- suspend=y/n 是否在调试客户端建立连接之后启动 VM
- address=xxx 调试服务器监听的端口号,需要自行配置;