温馨提示×

debian如何调试java

小樊
32
2026-09-26 04:22:14
栏目: 编程语言

在 Debian 上调试 Java 程序,通常可以从命令行工具、IDE、日志与系统层面几个方向来做。下面按常见场景给你一个实用指南。


一、基础环境确认

1. 确认 Java 已安装

java -version
javac -version

如果没有:

sudo apt update
sudo apt install default-jdk

二、使用命令行调试(最基础)

1. 编译时保留调试信息

javac -g MyClass.java

-g 会包含行号、变量名,方便调试。

2. 运行并查看异常

java MyClass

异常会打印堆栈,重点看:

  • 异常类型
  • 行号
  • Caused by

三、使用 jdb(JDK 自带调试器)

适合无 IDE 环境。

1. 启动调试

jdb MyClass

常用命令:

stop at MyClass:20
run
step
next
print varName
locals

退出:

quit

四、远程调试(非常常用)

1. 启动 Java 程序(服务端)

java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 MyClass

2. 本地连接(IDE 或 jdb)

jdb -attach 5005

生产环境慎用 suspend=y


五、使用 IDE(推荐)

IntelliJ IDEA(Debian)

sudo apt install intellij-idea-community

或下载官方包。

功能:

  • 断点
  • 变量查看
  • 线程调试
  • 远程调试

VS Code

安装:

  • Java Extension Pack
  • Debugger for Java

六、JVM 自带诊断工具(非常强)

1. 查看进程

jps

2. 线程死锁 / CPU 高

jstack <pid>

3. 内存问题

jmap -heap <pid>
jmap -histo <pid>

4. 实时监控

jstat -gc <pid> 1000

5. 图形界面(如有桌面)

jconsole
jvisualvm

七、日志调试

使用日志框架

  • Log4j2
  • SLF4J + Logback

示例:

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

设置日志级别:

<root level="debug">

八、系统级调试(Debian)

1. 查看系统日志

journalctl -u your-service

2. 查看资源占用

top
htop

九、常见调试场景速查

问题 工具
程序崩溃 异常栈 / jstack
卡死 jstack
内存溢出 jmap / jstat
性能慢 VisualVM
生产问题 远程调试 + 日志

如果你能告诉我:

  • 是 桌面还是服务器
  • 用的是 Spring / 普通 Java / Android
  • 是 本地调试还是生产环境

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

0 踩