在 Ubuntu 下使用 gcc 调试代码,通常配合 gdb(GNU Debugger)来进行。下面从「编译 → 运行 → 调试」给你一个完整流程。
如果还没安装:
sudo apt update
sudo apt install build-essential gdb
检查版本:
gcc --version
gdb --version
关键:加 -g 参数
gcc -g -o test test.c
如果是 C++:
g++ -g -o test test.cpp
✅ -g 会包含调试信息(变量名、行号等)
⚠️ 不要加 -O2 等优化选项,否则调试会混乱
gdb ./test
进入 gdb 后:
(gdb) run
break main
break 10 # 第10行
break func_name
查看断点:
info breakpoints
删除断点:
delete 1
next # 下一步(不进函数)
step # 进入函数
continue # 继续执行
print x
print arr[0]
backtrace # 查看函数调用栈
info locals # 当前函数局部变量
quit
gdb ./test
run
bt
bt 会告诉你崩溃在哪一行
ulimit -c unlimited
./test
gdb ./test core
sudo apt install cgdb
cgdb ./test
launch.json#include <stdio.h>
int main() {
int a = 5;
int b = 0;
printf("%d\n", a / b); // 故意错误
return 0;
}
gcc -g -o test test.c
gdb ./test
run
如果你愿意,可以告诉我:
我可以给你更针对性的调试方法。