确保已安装Tomcat(如通过apt install tomcat9)和IDE(如IntelliJ IDEA或Eclipse),且本地代码与服务器上的WAR包版本一致。
Tomcat支持两种调试配置方式,推荐使用**setenv.sh**(更规范)或直接修改启动脚本:
方式一:创建setenv.sh文件(推荐)
在Tomcat的bin目录(如/opt/tomcat/bin/)下创建setenv.sh,添加以下内容(端口可自定义,如5005):
export JPDA_OPTS="-agentlib:jdwp=transport=dt_socket,address=5005,server=y,suspend=n"
保存后赋予执行权限:chmod +x /opt/tomcat/bin/setenv.sh。
方式二:直接修改catalina.sh
打开/opt/tomcat/bin/catalina.sh,在文件末尾添加:
CATALINA_OPTS="$CATALINA_OPTS -agentlib:jdwp=transport=dt_socket,address=5005,server=y,suspend=n"
注:
address为调试端口(需未被占用),server=y表示Tomcat作为调试服务器,suspend=n表示不暂停启动等待调试器连接(若需等待,改为y)。
jpda命令启动(自动加载setenv.sh中的配置):/opt/tomcat/bin/catalina.sh jpda start
startup.sh,将最后一行exec "$PRGDIR"/"$EXECUTABLE" start "$@"改为exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@",然后运行startup.sh。启动后,检查Tomcat日志确认调试端口已监听:
tail -f /opt/tomcat/logs/catalina.out
若输出Listening for transport dt_socket at address: 5005,则表示配置成功。
以IntelliJ IDEA为例(Eclipse步骤类似):
Run → Edit Configurations。+号,选择Remote。Configuration标签页中,设置:
192.168.1.100);5005)。Apply → OK保存配置。Shift+F9),启动远程调试。http://服务器IP:8080/应用路径),当代码执行到断点时,IDE会暂停执行。F5进入方法、F6单步跳过、F7跳出方法)查看变量值、调用栈等信息,定位问题。ufw allow 5005/tcp)。/opt/tomcat/logs/catalina.out、localhost.log)分析错误信息。