温馨提示×

ubuntu gcc调试怎么用

小樊
40
2026-09-07 03:39:23
栏目: 智能运维

在 Ubuntu 上使用 gcc 进行调试,通常流程是:编译时加调试信息 → 用 gdb 调试。下面从基础到常用操作给你讲清楚。


一、安装 gcc 和 gdb

一般 Ubuntu 自带 gcc,但 gdb 可能没装:

sudo apt update
sudo apt install gcc gdb

验证:

gcc --version
gdb --version

二、用 gcc 编译(关键:加 -g

假设你有 test.c

#include <stdio.h>

int main() {
    int a = 10;
    int b = 0;
    int c = a / b;  // 会崩溃
    printf("%d\n", c);
    return 0;
}

❌ 错误方式(不能调试):

gcc test.c -o test

✅ 正确方式(加 -g):

gcc -g test.c -o test

可选:开启警告

gcc -g -Wall test.c -o test

三、启动 gdb 调试

gdb ./test

进入 gdb 后常见操作:

1️⃣ 运行程序

run

或简写:

r

2️⃣ 设置断点

按函数:

break main

按行号:

break test.c:6

查看断点:

info breakpoints

删除断点:

delete 1

3️⃣ 单步执行

进入函数:

step

(简写 s

不进入函数:

next

(简写 n


4️⃣ 查看变量

print a

或:

p a

5️⃣ 查看调用栈(崩溃时很有用)

backtrace

(简写 bt


6️⃣ 继续执行

continue

(简写 c


7️⃣ 退出 gdb

quit

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

1️⃣ 开启 core 文件

ulimit -c unlimited

2️⃣ 运行程序(崩溃)

./test

会生成 corecore.xxx

3️⃣ 用 gdb 分析

gdb ./test core

然后:

bt

可以看到崩溃位置。


五、常用调试技巧总结

功能 命令
编译带调试 gcc -g
运行 run
断点 break
单步 step / next
看变量 print
backtrace
继续 continue

六、如果你愿意

你可以告诉我:

  • 你是 C 还是 C++
  • 段错误 / 逻辑错误 / 性能问题
  • 用的是 VSCode 还是纯终端

我可以给你更具体的调试示例。

0