使用IntelliJ IDEA社区版调试tomcat
IntelliJ IDEA在重构方面碾压eclipse。但是IDEA的免费社区版是不支持tomcat插件的。如果你正在用IDEA社区版开发一个web应用,可以使用下文的方式来调试运行在tomcat里的web应用。笔者目前使用的IDEA版本为2016.1.1。
准备环境
假设我们有一个项目,已经用IDEA打开了,并且这个项目可以构建成一个ggg-webapp.war
的包。在菜单Run
->Edit Configurations
里,新增一个Remote
,填入下图所示的参数:
- Name:叫啥都行,这里是tomcat-debug
- Host:准备运行tomcat的机器IP,可以是vagrant虚拟机
- Port:随便选一个端口就好,别跟其它端口冲突
Tomcat的话可以用docker启动,比较方便。这里选用的是tomcat:7。复制Command line arguments for running remote JVM
里的值,用它代替下面的JAVA_OPTS
参数里的内容,然后运行tomcat并把war包复制到webapps目录里:12docker run -d --net=host --name=tomcat -e JAVA_OPTS='-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=7007' tomcat:7docker cp ggg-webapp.war tomcat:/usr/local/tomcat/webapps/
Tomcat启动完成后,选择菜单Run
->Debug 'tomcat-debug'
,就会显示Connected to the target VM, address: '192.168.33.88:7007', transport: 'socket'
,然后就可以顺利debug了。
其它
附送一些调试快捷键:
- F7:Step into
- F8:Step over
- F9:Run
- Shift+F7:Smart step into(弹出对话框让你选择进入哪个方法)
- Shift+F8:Step out
- Ctrl+F8 / Command+F8:Toggle Breakpoint
- Alt+F8:Evaluate expression
- Alt+F9:Run To Cursor