Idea 远程调试
本文主要介绍Idea远程调试java程序。
一、原理
远程调试的原理就是两个VM之间通过debug协议进行通信,两者之间通过socket进行通信。
二、实现
2.1 添加JVM参数
在启动JVM时加入参数
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
这是java 1.4 以后的参数,之前版本的参数不一样,由于java1.4之前的版本不常见了,这里就不做介绍了。
各参数含义如下:
- transport :调试程序和VM之间的通信方式, dt_socket 表示用套接字传输
- server=y : 表示是监听其他debugclient端的请求
- suspend : 表示是否在调试客户端建立连接之后启动 VM。
+ 如果为y,那么当前的VM就是suspend直到有debug client连接进来才开始执行程序
+ 如果为n,那么当前的VM就会直接执行,不会等待debug client连接进来
- address=5005 : 表示端口是5005
实例:
java -agentlib</