温馨提示×

怎样调试Debian Java代码

小樊
44
2026-10-05 02:57:04
栏目: 编程语言

在 Debian 系统上调试 Java 代码,通常可以按下面几个层次来做:从环境准备 → 编译运行 → 日志/打印 → 调试器 → 远程调试 → 常见问题。下面是一个比较实用、循序渐进的指南。


一、准备 Java 环境(Debian)

1. 安装 JDK

sudo apt update
sudo apt install default-jdk

查看版本:

java -version
javac -version

推荐服务器/生产用 OpenJDK 11 或 17


二、基础调试方式(最常用)

1. 使用 System.out.println

最简单直接:

System.out.println("value = " + value);

适合:

  • 快速定位问题
  • 脚本/小工具

2. 使用日志框架(推荐)

不要用 println 做正式项目。

Log4j / SLF4J 示例

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class App {
    private static final Logger log = LoggerFactory.getLogger(App.class);

    public static void main(String[] args) {
        log.debug("start");
        log.info("running");
    }
}

运行:

java -Dlog.level=DEBUG -jar app.jar

三、命令行调试(jdb)

Debian 自带:

jdb MyClass

常用命令:

stop at MyClass:20
run
step
print variableName

适合:

  • 无 GUI 环境
  • 简单问题

四、使用 IDE 调试(推荐)

1. IntelliJ IDEA(Linux)

sudo snap install intellij-idea-community --classic
  • 设置断点
  • Step Into / Step Over
  • 查看变量、调用栈

2. VS Code(轻量)

安装插件:

  • Extension Pack for Java

五、远程调试(服务器上很常见)

1. 启动 Java 程序(开启调试端口)

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

2. IDE 连接

  • IntelliJ:Remote JVM Debug
  • Host: 服务器 IP
  • Port: 5005

⚠ 注意防火墙:

sudo ufw allow 5005

六、线程与性能问题调试

1. 查看 Java 进程

jps

2. 线程堆栈

jstack <pid>

3. 内存分析

jmap -heap <pid>
jhat dump.hprof

七、常见 Debian 下 Java 问题

1. 找不到主类

Error: Could not find or load main class

解决:

  • 检查 CLASSPATH
  • 检查包名和目录结构

2. 权限问题

chmod +x app.jar

3. 字符编码问题

java -Dfile.encoding=UTF-8 -jar app.jar

八、调试建议总结

✅ 小问题:println
✅ 正式项目:日志
✅ 复杂逻辑:IDE 断点
✅ 线上问题:远程调试 + jstack


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

  • 是 桌面还是服务器
  • 用 Spring / 普通 Java / Android
  • 是 运行报错还是逻辑不对

我可以给你更具体的调试方案。

0 踩