温馨提示×

Ubuntu Java调试怎么进行

小樊
48
2026-07-12 20:12:51
栏目: 编程语言

在 Ubuntu 上进行 Java 调试,常见方式有三种:命令行调试(jdb)IDE 调试(推荐)远程调试(生产环境常用)。下面按使用场景详细说明。


一、最推荐:使用 IDE 调试(IntelliJ IDEA / Eclipse)

1️⃣ IntelliJ IDEA(最常用)

步骤

  1. 打开项目
  2. 在代码行号左侧 点击打断点
  3. 点击右上角 ** Debug 按钮 ▶️ 带虫子**
  4. 程序会在断点处暂停

常用调试操作

功能 快捷键
Step Over F8
Step Into F7
Resume F9
查看变量 鼠标悬停
计算表达式 Alt + F8

适合:本地开发调试


2️⃣ Eclipse

  • 双击行号打断点
  • 右键 → Debug As → Java Application
  • 使用 Debug 视图查看变量、堆栈

二、命令行调试(jdb,适合服务器)

1️⃣ 编译时保留调试信息

javac -g Hello.java

2️⃣ 启动 jdb

jdb Hello

3️⃣ 常用命令

stop at Hello:10        # 在第10行断点
run                    # 运行
step                   # 单步
next                   # 下一行
print 变量名            # 查看变量
locals                 # 查看局部变量
cont                   # 继续执行
quit                   # 退出

⚠️ jdb 非常原始,一般不推荐日常使用。


三、远程调试(生产/服务器常用 ✅)

1️⃣ 启动 Java 程序时开启调试端口

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar app.jar

参数说明:

  • address=5005 → 调试端口
  • suspend=n → 不等待调试器直接启动
  • suspend=y → 启动后暂停,等调试器连接(常用排查启动问题)

2️⃣ IntelliJ IDEA 连接远程调试

  1. Run → Edit Configurations
  2. 点击 + → Remote JVM Debug
  3. 设置:
    • Host:服务器 IP
    • Port:5005
  4. 点击 Debug

✅ 可断点调试服务器上的 Java 程序


四、日志 + 调试组合(生产环境)

如果是线上环境,通常不常驻断点:

private static final org.slf4j.Logger log =
    org.slf4j.LoggerFactory.getLogger(ClassName.class);

log.debug("value = {}", value);

开启 debug 日志:

logging.level.com.xxx=DEBUG

五、常见问题排查

1️⃣ 找不到类

java -cp . Hello

2️⃣ 端口被占用

netstat -tunlp | grep 5005

3️⃣ 防火墙

sudo ufw allow 5005

六、调试方式选择建议

场景 推荐方式
本地开发 IntelliJ IDEA
服务器无 GUI 远程调试
快速看问题 日志
学习 JVM jdb

如果你愿意,可以告诉我:

  • ✅ 你是 本地还是服务器
  • ✅ 用的是什么 Java 版本
  • ✅ 是 Spring Boot / 普通 Java / Android

我可以给你 针对性一步步操作示例

0