1.tomcat windows
在catalina.bat中加入如下
SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5888
SET CATALINA_OPTS 变量应该在使用它之前指的是(在clatalina.bat文件中看到有 rem-----Execute The Requested Command --------的一行内容 把上面的设置放在这一行的上面就可以了。)
在idea中>run/dubug>remote> 填写对应的host和port以及module即可进行调试
2.tomcat linux
CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5888"
把SET去掉,后面加双引号引起来,因为在Linux下,是没有SET这个语法的
3.普通java应用
在运行脚本加上这么一串参数,运行之后就可以在本地的IDE上使用Debug模式
-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,address=5888,suspend=y
如:
java -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,address=5888,suspend=y Sample
或: java -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,address=5888,suspend=y -classpath sample.jar -jar sample.jar
4.mvn项目远程调试
远程机器上使用:如:使用JUnit谢了一个单元测试,可以使用mvn -Dmaven.surefire.debug test开启远程调试模式,默认是5005端口,也可以通过如下参数进行配置
mvn -Dmaven.surefire.debug="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 -Xnoagent -Djava.compiler=NONE"
实例: