在 CentOS 上调试 C 代码,常见且推荐的方式是使用 gcc + gdb,配合一些辅助工具。下面按“从入门到常用”给你一个清晰流程。
sudo yum install -y gcc gdb make
如果是 CentOS 8 / Stream:
sudo dnf install -y gcc gdb make
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 ./test
| 命令 | 作用 |
|---|---|
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
ulimit -c unlimited
./test
# 段错误 (core dumped)
gdb ./test core.*
(gdb) bt
sudo yum install -y valgrind
valgrind ./test
sudo yum install -y strace
strace ./test
sudo yum install -y cgdb
cgdb ./test
CentOS 调试 C 代码 =
gcc -g编译 +gdb调试 +(必要时)valgrind / core dump
如果你有具体报错、段错误、或想调试某个项目,可以把代码或错误信息发我,我可以直接帮你分析。