如何让Tomcat以Debug模式启动

简介: 有时候我们需要远程调试项目代码,这就需要让Tomcat以Debug模式启动。环境说明Windows 7 64位 JDK 8 64位 tomcat-8.0.21 x64.

有时候我们需要远程调试项目代码,这就需要让Tomcat以Debug模式启动。

环境说明

Windows 7 64位
JDK 8 64位
tomcat-8.0.21 x64.zip

配置方法

第一步:配置JPDA参数

如果Tomcat使用的是JDK 1.5以上版本,那么JPDA可以使用JVMDI,配置方法为:
在tomcat的bin/catalina.bat文件中一开始加入:
set JPDA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=localhost:8000
如果是Mac OS X或是Linux,则在bin/catalina.sh文件中一开始加入:
export JPDA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=localhost:8000
其中address中的端口不一定非用8000哦,也可以换成其他端口。
如果使用的是JDK 1.4,那么只能使用JVMPI了,见后面的说明。
这里写图片描述

第二步:以JPDA模式启动

在tomcat的bin/startup.bat文件中的启动命令中加入JPDA,如下图:
这里写图片描述
export JPDA_OPTS=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=0.0.0.0:8000

说明:

1)以上方法在Windows/Mac OS X,Tomcat 5.5.25下均测试通过;Tomcat 5.0.x和6.0.x则参见4楼;
2)如果是JDK 1.4,JPDA参数需要调整为-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=localhost:8000,不过没试过,可能个别参数还需要再调整一下;(建议用JDK 1.5,因为JVMDI比JVMPI强大很多)
3)JPDA的相关参数说明见 http://java.sun.com/j2se/1.5.0/docs/guide/jpda/conninv.html
4)debug并不是诊断和解决问题的唯一方法,很多时候分析运行日志能更快地发现原因和解决问题.

目录
相关文章
|
设计模式 安全 Java
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
364 0
|
负载均衡 前端开发 JavaScript
LVS-DR模式、keepalived、Nginx与Tomcat合作,打造动静分离,高效负载均衡与高可用性
为了采用这样的架构,你需要对LVS-DR、Keepalived、Nginx与Tomcat有一定的理解和掌握,同时也需要投入一些时间去研究和配置,但是一旦你把它运行起来,你将会发现,这一切都是值得的。
485 11
|
运维 Java 应用服务中间件
Tomcat详解(六)——Tomcat运行模式调优
Tomcat详解(六)——Tomcat运行模式调优
188 3
|
监控 应用服务中间件
idea debug模式启动Tomcat报错:Error running ‘tomcat8‘: java.net.SocketException “socket closed“
idea debug模式启动Tomcat报错:Error running ‘tomcat8‘: java.net.SocketException “socket closed“
1407 0
|
前端开发 Java 应用服务中间件
《SpringBoot启动流程七》:源码分析SpringBoot如何内嵌并启动Tomcat服务器的?
《SpringBoot启动流程七》:源码分析SpringBoot如何内嵌并启动Tomcat服务器的?
1190 0
《SpringBoot启动流程七》:源码分析SpringBoot如何内嵌并启动Tomcat服务器的?
|
Java 应用服务中间件 容器
springboot如何启动内置tomcat?(源码详解)
springboot如何启动内置tomcat?(源码详解)
springboot如何启动内置tomcat?(源码详解)
|
IDE Java 应用服务中间件
Tomcat远程Debug
JVM本身提供可调试运行在虚拟机中的代码的功能。远程调试大致流程为: 1. 在启动的时候设置启动参数以开启和配置调试功能 2. 设置ip白名单或者关闭防火墙,让远端可以访问JVM所在机器 3. IDE中配置远程调试信息 4. 重启Tomcat,在IDE中启动远端调试
950 0
|
Java 应用服务中间件
IDEA的Web项目启动Tomcat出现404错误
IDEA的Web项目启动Tomcat出现404错误
1161 0
IDEA的Web项目启动Tomcat出现404错误
|
应用服务中间件
创建tomcat的服务,删除服务,通过服务来启动项目
创建tomcat的服务,删除服务,通过服务来启动项目
363 0
创建tomcat的服务,删除服务,通过服务来启动项目
|
应用服务中间件
IEAD启动Tomcat控制台乱码问题
IEAD启动Tomcat控制台乱码问题
IEAD启动Tomcat控制台乱码问题