温馨提示×

centos如何调试java代码

小樊
41
2026-09-02 17:21:11
栏目: 编程语言

CentOS 上调试 Java 代码,常见方式有以下几种,按使用频率从低到高说明:


一、使用 javac + java 基础调试(最原始)

适合简单程序或排错。

# 编译
javac Hello.java

# 运行
java Hello

查看异常

  • 异常堆栈会直接打印在终端
  • 可用 e.printStackTrace() 辅助定位

二、使用 jdb(JDK 自带命令行调试器)

适合无图形界面服务器。

# 编译时保留调试信息
javac -g Hello.java

# 启动调试
jdb Hello

常用命令:

stop at Hello:10     # 在第10行打断点
run                 # 运行
step                # 单步
list                # 查看代码
print 变量名         # 打印变量
cont                # 继续执行

三、远程调试(最常用,生产/服务器场景)

1️⃣ 启动 Java 程序时开启调试端口

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

参数说明:

  • address=5005:调试端口
  • suspend=n:启动不阻塞

2️⃣ 本地 IDE 连接(IntelliJ / Eclipse)

  • Host:CentOS 服务器 IP
  • Port:5005
  • 使用 Remote JVM Debug

四、使用 IntelliJ IDEA(推荐)

方式一:本地开发 + CentOS 运行

  • 本地写代码
  • 打包后丢到 CentOS
  • 用远程调试

方式二:直接在 CentOS 装桌面 + IDE(不推荐服务器)


五、日志调试(最实用)

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

Logger log = LoggerFactory.getLogger(getClass());
log.info("value = {}", value);

配合:

tail -f app.log

六、常用排查工具(CentOS)

# 查看 Java 进程
jps -l

# 查看堆内存
jmap -heap <pid>

# 线程栈
jstack <pid>

# 实时监控
top -p <pid>

七、推荐方案总结

场景 推荐方式
学习/练习 jdb
服务器程序 远程调试
生产问题 日志 + jstack
大型项目 IntelliJ 远程调试

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

  • 用的是 CentOS 几
  • JDK 版本
  • Spring / 普通 Java / 大数据

我可以给你更具体的调试步骤。

0