Tomcat 启动 Debug模式
如果debug启动遇到如下错误:
ERROR: transport error 202: gethostbyname: unknown host
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:750]
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
则应该检查本地的hosts文件, 看127.0.0.1是不是被注掉了.
在%CATALINA_HOME%\bin\startup.bat中添加以下任意一行配置:
SET JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n
SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8787
启动tomcat后,在控制台显示以下内容表示配置成功:
Listening for transport dt_socket at address: 8787
在Spring Boot结合Maven的项目中, 如果要对embedded tomcat进行debug, 则需要在POM文件中加入以下内容
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!-- enable remote debug for embed jvm, the following configuration suspend the process until a debugger has joined on port 8787 --> <jvmArguments>
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8787 </jvmArguments> </configuration> </plugin> </plugins> </build>