1、添加参数
-Xdebug (此参数表示启用调试)
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9999 (在9999端口监听Socket连接,挂起VM并且不加载运行主函数直到调试请求到达 )
例如:
tomcat:
1、Linux中配置tomcat在catalina.sh中添加:
CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n
2、Window中修改 catalina,bat文件,添加:
Set“CATALINA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"
java程序(本人实例):
wrapper.java.additional.5=-Xdebug
wrapper.java.additional.6=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9999
首先启动项目;
然后在myeclipse中打开debug configurations,设置ip和port,点击debug,然后就可以进入断点了
更多参数细节:
-XDebug 启用调试。
-Xnoagent 禁用默认sun.tools.debug调试器。
-Djava.compiler=NONE 禁止 JIT 编译器的加载。
-Xrunjdwp 加载JDWP的JPDA参考执行实例。
transport 用于在调试程序和 VM 使用的进程之间通讯。
dt_socket 套接字传输。
dt_shmem 共享内存传输,仅限于 Windows。
server=y/n VM 是否需要作为调试服务器执行。
address=3999 调试服务器的端口号,客户端用来连接服务器的端口号。
suspend=y/n 是否在调试客户端建立连接之后启动 VM 。