远程 DEBUG 调试
当程序运行的结构与我们所预期的结果不一样的时候,我们往往会想到 DEBUG,如果程序没有在本地怎么调试呢?这时候就需要进行远程调试.远程的 debug 的原理是,服务端 jvm 使用 debug 模式,监听一个端口,客户端使用 socket 进行连接,连接成功就可以进行远程调试.
JVM 如何开启 DEBUG 模式?
- JDK1.5 之前
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1234
参数大意:
debug:debug模式
runjdwp:运行java debug协议配置
transport:使用的通信方式
server:是主动连接调试器还是作为服务器等待调试器连接
suspend:是否在启动JVM时就暂停,并等待调试器连接
address:地址和端口,地址可以省略,两者用冒号分隔
- JDK1.5 之后
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8888
参数差不多,不再赘述.
以上是远端的 JVM 配置,一般都是运维配置好的,不用担心不会配置.
如何连接 JVM 进行远程 debug?
- eclipse
点击 debug configurations
这里的 host 和端口是远端 JVM 的 IP 地址和端口,这个可以问运维.配置好后点击刚才配置的 DEBUG 就可以远端 DEBUG 了
2. idea
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于