温馨提示×

centos怎么调试c代码

小樊
44
2026-09-18 04:09:21
栏目: 智能运维

在 CentOS 上调试 C 代码,常见且推荐的方式是使用 gcc + gdb,配合一些辅助工具。下面按“从入门到常用”给你一个清晰流程。


一、准备编译环境

1. 安装编译和调试工具

sudo yum install -y gcc gdb make

如果是 CentOS 8 / Stream:

sudo dnf install -y gcc gdb make

二、编译可调试的 C 程序

示例程序 test.c

#include <stdio.h>

int add(int a, int b) {
    return a + b;
}

int main() {
    int x = 10;
    int y = 20;
    int z = add(x, y);
    printf("z = %d\n", z);
    return 0;
}

编译(必须加 -g)

gcc -g -O0 test.c -o test

说明:

  • -g:生成调试信息
  • -O0:关闭优化,方便调试

三、使用 gdb 调试

1. 启动 gdb

gdb ./test

2. 常用 gdb 命令

命令 作用
run / r 运行程序
break main 在 main 函数设断点
break test.c:8 在指定行设断点
next / n 单步(不进入函数)
step / s 单步(进入函数)
print x / p x 打印变量
backtrace / bt 查看调用栈
continue / c 继续执行
quit / q 退出 gdb

示例调试流程

(gdb) break main
(gdb) run
(gdb) next
(gdb) print x
(gdb) step
(gdb) backtrace

四、调试崩溃程序(core dump)

1. 开启 core 文件

ulimit -c unlimited

2. 运行程序产生 core

./test
# 段错误 (core dumped)

3. 使用 gdb 分析

gdb ./test core.*
(gdb) bt

五、常见辅助工具(可选)

1. valgrind(内存错误)

sudo yum install -y valgrind
valgrind ./test

2. strace(系统调用)

sudo yum install -y strace
strace ./test

六、图形化调试(可选)

  • cgdb:终端增强版 gdb
sudo yum install -y cgdb
cgdb ./test
  • VS Code + Remote SSH(非常推荐)

七、总结一句话

CentOS 调试 C 代码 = gcc -g 编译 + gdb 调试 +(必要时)valgrind / core dump

如果你有具体报错、段错误、或想调试某个项目,可以把代码或错误信息发我,我可以直接帮你分析。

0 踩