您的位置:首页 >Java Web应用在Ubuntu上如何调试
发布于2026-04-27 阅读(0)
扫一扫,手机访问

调试Ja va Web应用,尤其是在生产或准生产环境中,是开发者必须掌握的技能。下面这份流程,涵盖了从本地开发到远程诊断的完整路径,帮你系统化地解决问题。
一切从本地开始。在Ubuntu桌面环境下搭建一个可调试的开发环境,是最高效的起点。
/var/log/tomcat9/catalina.out。将断点调试信息与日志中的错误记录结合起来分析,往往能更快地锁定问题根源。当问题出现在远程服务器上时,远程调试就成了“救火队长”。其核心是让JVM开启调试端口,允许IDE通过网络连接进来。
CATALINA_OPTS中设置。例如,在/usr/share/tomcat9/bin/catalina.sh文件中,找一个合适的位置(通常放在其他JA VA_OPTS设置之后更稳妥)添加:
CATALINA_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005"
这里有几个关键点:
address 端口可以自定义,比如5005。强烈建议写成 address=*:5005 来监听所有网络接口,避免只绑定127.0.0.1导致外部无法连接。suspend=n 表示应用启动时不等待调试器连接;如果需要调试启动过程,可以改为 suspend=y,让JVM启动后暂停,直到调试器接入。CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
sudo systemctl restart tomcat9
ss -lntp | grep 5005
并非所有环境都允许使用图形化IDE。掌握命令行工具和系统级诊断方法,能让你在更复杂的情况下游刃有余。
# 连接远程调试端口
jdb -attach <服务器IP>:5005
# 常用命令示例
stop in com.example.MyServlet.doGet # 在方法处设置断点
cont # 继续执行
step # 单步步入
next # 单步步过
print myVariable # 打印变量值
调试过程不会总是一帆风顺。遇到连接失败或断点不生效时,可以按照下面这个清单逐一核对。
sudo ufw allow 8080,5005/tcp
ss -lntp | egrep ':(8080|5005)'
address=*:5005 或 address=0.0.0.0:5005,如果只绑定了127.0.0.1,外部机器自然无法连接。catalina.out 和 localhost.<日期>.log 等日志文件,确认应用本身是否已成功部署且没有抛出任何启动异常。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9