在maven上debug,经常跟jetty或tomcat插件在一起使用。如运行mvnDebug jetty:run命令后再通过eclipse远程连接调试。
maven的安装目录下存在mvnDebug.bat文件,打开可以看到具体的配置项如下:
这里对几个参数进行说明:
-transport :JPDA front-end和back-end之间的传输方法。dt_socket表示使用套接字传输。
-server :y/n 该jvm是被调试者还是调试器
-suspend :y/n 是否等待外部调试器的连接,如jetty启动时候,是否等待eclipse的远程连接后在进行jetty的初始化工作。在调试web容器的时候用的很多
-address :监听端口
maven的安装目录下存在mvnDebug.bat文件,打开可以看到具体的配置项如下:
- set MAVEN_DEBUG_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000
这里对几个参数进行说明:
- -Xdebug : 启动debug模式
- -Xnoagent: 禁用默认sun.tools.debug调试器
- -Djava.compiler:指定编译器类型,可方便优化 jitc jitc_de等
- -Xrunjdwp:启动调试协议JDWP,全称是Java Debug Wire Protocol,它定义了JPDA front-end和JPDA back-end之间通讯信息的二进制格式。这里的通讯信息主要包括两种:调试器发送给JVM的请求信息和JVM发送给调试器的调试信息。有如下子项:
-transport :JPDA front-end和back-end之间的传输方法。dt_socket表示使用套接字传输。
-server :y/n 该jvm是被调试者还是调试器
-suspend :y/n 是否等待外部调试器的连接,如jetty启动时候,是否等待eclipse的远程连接后在进行jetty的初始化工作。在调试web容器的时候用的很多
-address :监听端口