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