在 Debian 系统上调试 Java 代码,通常可以按下面几个层次来做:从环境准备 → 编译运行 → 日志/打印 → 调试器 → 远程调试 → 常见问题。下面是一个比较实用、循序渐进的指南。
sudo apt update
sudo apt install default-jdk
查看版本:
java -version
javac -version
推荐服务器/生产用 OpenJDK 11 或 17
System.out.println最简单直接:
System.out.println("value = " + value);
适合:
不要用 println 做正式项目。
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
Debian 自带:
jdb MyClass
常用命令:
stop at MyClass:20
run
step
print variableName
适合:
sudo snap install intellij-idea-community --classic
安装插件:
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar app.jar
⚠ 注意防火墙:
sudo ufw allow 5005
jps
jstack <pid>
jmap -heap <pid>
jhat dump.hprof
Error: Could not find or load main class
解决:
CLASSPATHchmod +x app.jar
java -Dfile.encoding=UTF-8 -jar app.jar
✅ 小问题:println
✅ 正式项目:日志
✅ 复杂逻辑:IDE 断点
✅ 线上问题:远程调试 + jstack
如果你愿意,可以告诉我:
我可以给你更具体的调试方案。