IDEA 远程连接外部tomcat调试

用途

针对于springboot项目,在启动时tomcat中才会调用的部分断点调试。类似于SpringBootServletInitializer.onStartup方法,只会在tomcat运行时才会调用;采用jar包方式运行不会调用此方法。

Windows

配置外部tomcat监听

  1. 在部署版tomcat/bin目录下,创建一个debug.bat(名称随意)

    1
    2
    3
    4
    set JPDA_ADDRESS=8000
    set JPAD_TRANSPORT=dt_socket
    SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8899
    startup
  2. 双击刚创建的debug.bat执行,会启动tomcat监听

    配置IDEA调用外部Tomcat

  3. 首先,打开Edit configurations,点击+号,创建一个Remote应用。
  4. 配置remote应用,只需要配置Name,Host,Port;其中Name为应用名称可以随意,Host和Port配置成第一步中的外部tomcat的地址和端口,我的配置为localhost和8899
  5. 调试时,需要把项目打成war包放入外部tomcat/webapps中,然后先启动debug.bat,再启动配置好的Remote服务,就会进入相应的断点,跟本地debug调试一样。