Linux环境下Java程序调试指南
一 环境准备与快速上手
sudo apt update && sudo apt install default-jdk,随后用 java -version 检查版本。// HelloWorld.java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
int a = 5, b = 0;
System.out.println("Result: " + (a / b)); // 触发异常
}
}
javac HelloWorld.java 生成 .class 文件;常规运行 java HelloWorld 验证程序行为。二 使用 JDB 进行命令行断点调试
jdb HelloWorld。stop in HelloWorld.main 或 stop at HelloWorld:行号runstep(进入方法)/ next(不进入方法)contlistprint 变量名wheremain 设断点,运行后在 a / b 前观察变量,再单步进入或继续执行以定位 ArithmeticException。三 远程调试 Linux 上的 Java 进程
java \
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 \
-jar your-application.jar
参数说明:
transport=dt_socket 使用 Socket 传输;server=y 作为调试服务器;suspend=n 启动后不挂起等待;address=*:5005 监听所有地址的 5005 端口。四 进阶工具与排障建议
top -p $(pgrep -f your-app)。java 进程做低层排查;常规业务逻辑的 Java 代码级 调试优先使用 JDB/IDE。