确保系统中已安装Java JDK(建议OpenJDK 11及以上)和Tomcat(如Tomcat 9/10)。若未安装,可通过以下命令安装:
sudo apt update
sudo apt install openjdk-11-jdk tomcat9
安装完成后,确认Java环境变量JAVA_HOME已正确设置(通常位于/usr/lib/jvm/java-11-openjdk-amd64)。
Tomcat支持两种方式开启远程调试:
方式一:修改catalina.sh(推荐)
打开Tomcat的bin目录下的catalina.sh文件,末尾添加以下参数:
export CATALINA_OPTS="$CATALINA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"
其中,address=5005为调试端口(可根据需求修改),suspend=n表示Tomcat启动时不暂停(若需调试启动过程,可设为y)。
方式二:使用setenv.sh(更规范)
在bin目录下创建setenv.sh文件(若不存在),添加以下内容:
export JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=5005,server=y,suspend=n"
此方式可将调试配置与主脚本分离,便于维护。
startup.sh启动/path/to/tomcat/bin/startup.sh
jpda命令(更直观)setenv.sh,可直接运行:/path/to/tomcat/bin/catalina.sh jpda start
启动后,通过ps aux | grep tomcat确认Tomcat进程是否携带jdwp参数。以IntelliJ IDEA为例,步骤如下:
Run -> Edit Configurations。+号,选择Remote JVM Debug。Configuration标签页中,设置:
Host:Tomcat服务器的IP地址(本地调试可填localhost);Port:与Tomcat配置中的address一致(如5005)。Apply保存配置。Step Over、Step Into、Resume Program)控制执行流程;tail -f /var/log/tomcat9/catalina.out命令实时查看Tomcat日志,快速定位错误(如ERROR关键字)。ss -tuln | grep 5005确认调试端口未被其他进程占用(若被占用,可修改address参数或终止占用进程)。/var/log/tomcat9/conf/logging.properties文件,将对应包的日志级别设为DEBUG(如org.apache.catalina.level = DEBUG)。通过以上步骤,可在Debian环境下高效调试Tomcat应用,结合日志分析与IDE调试,快速定位并解决问题。