在 Debian 上调试 Java 程序,通常可以从命令行工具、IDE、日志与系统层面几个方向来做。下面按常见场景给你一个实用指南。
java -version
javac -version
如果没有:
sudo apt update
sudo apt install default-jdk
javac -g MyClass.java
-g 会包含行号、变量名,方便调试。
java MyClass
异常会打印堆栈,重点看:
适合无 IDE 环境。
jdb MyClass
常用命令:
stop at MyClass:20
run
step
next
print varName
locals
退出:
quit
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 MyClass
jdb -attach 5005
生产环境慎用
suspend=y
sudo apt install intellij-idea-community
或下载官方包。
功能:
安装:
jps
jstack <pid>
jmap -heap <pid>
jmap -histo <pid>
jstat -gc <pid> 1000
jconsole
jvisualvm
示例:
logger.debug("value = {}", value);
设置日志级别:
<root level="debug">
journalctl -u your-service
top
htop
| 问题 | 工具 |
|---|---|
| 程序崩溃 | 异常栈 / jstack |
| 卡死 | jstack |
| 内存溢出 | jmap / jstat |
| 性能慢 | VisualVM |
| 生产问题 | 远程调试 + 日志 |
如果你能告诉我:
我可以给你更具体的调试方案。