以前一直以为idea没有远程debug模式,今天由于项目需要,需要远程debug服务器端的代码,以前用eclipse的时候还debug过,但是用习惯了idea就不知道怎么办了。
首先修改tomcat bin文件下 catalina文件
找到设置JAVA_OPTS变量处新增
set JAVA_OPTS=%JAVA_OPTS% -server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=9999,server=y,suspend=n
表示开启JPDA模式,具体的参数意思为:
-Xdebug 启用调试特性
-Xrunjdwp 启用JDWP实现,它包含若干子选项:
transport=dt_socket JPDA front-end和back-end之间的传输方法。dt_socket表示使用套接字传输。
address=9999 JVM在9999端口上监听请求。
server=y y表示启动的JVM是被调试者。如果为n,则表示启动的JVM是调试器。
suspend=y y表示启动的JVM会暂停等待,直到调试器连接上。suspend=y这个选项很重要。如果你想从Tomcat启动的一开始就进行调试,那么就必须设置suspend=y。
接下来就是在idea上配置了
1 在idea的run debug configuration上找到remote
2 然后只要在idea上配置好远程的remote ip和porta就可以了
3 最后只要点下小虫子的图标就可以debug了,和调试本地的代码一样的效果