温馨提示×

debian gcc怎样调试代码

小樊
36
2026-09-14 00:13:56
栏目: 智能运维

在 Debian 上用 GCC 调试代码,通常配合 GDB(GNU Debugger)使用。下面从安装、编译、调试到常用命令一步步说明。


一、安装 GCC 和 GDB

1. 安装编译和调试工具

sudo apt update
sudo apt install build-essential gdb
  • build-essential:包含 gccg++make
  • gdb:调试器

检查版本:

gcc --version
gdb --version

二、编译时加上调试信息

关键:使用 -g 选项

gcc -g -Wall -o test test.c

说明:

  • -g:生成调试信息(必须)
  • -Wall:显示警告(推荐)
  • -O0:关闭优化(调试时推荐)

示例:

gcc -g -O0 -Wall -o test test.c

三、使用 GDB 调试

1. 启动 GDB

gdb ./test

2. 常用 GDB 命令

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

示例:

(gdb) break main
(gdb) run
(gdb) next
(gdb) print a

四、调试崩溃(Segmentation fault)

gdb ./test
(gdb) run

崩溃后:

(gdb) backtrace

可定位是哪一行导致段错误。


五、使用 core dump 调试(可选)

1. 开启 core 文件

ulimit -c unlimited

2. 运行程序产生 core

./test

3. 用 GDB 分析

gdb ./test core

六、图形化调试(可选)

如果你不喜欢命令行:

  • CGDB
sudo apt install cgdb
cgdb ./test
  • DDD
sudo apt install ddd
ddd ./test
  • VS Code + GDB(推荐新手)

七、简单示例

test.c

#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

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

  • 用的是 C 还是 C++
  • 命令行调试还是IDE
  • 遇到的是 段错误 / 逻辑错误 / 多线程问题

我可以给你更具体的调试方法。

0