程序调试全攻略:从GDB到各类工具的深度解析
1. 调试信息处理
调试信息会使可执行文件显著增大,最多可达十倍。不过,程序运行所需的内存量基本不变。通常,在程序调试完成后发布前,移除调试信息是个不错的选择。可以使用 strip <file> 命令在不重新编译的情况下从可执行文件中移除调试信息。
2. 使用GDB调试
GDB是一款功能强大的调试器,可免费获取,适用于多种UNIX平台,也是Linux系统的默认调试器,还被移植到了许多其他平台,可用于调试嵌入式实时系统。
2.1 启动GDB
重新编译示例程序以进行调试并启动GDB:
$ cc -g -o debug3 debug3.c
$ gdb debug3
GDB有丰富的在线帮助,完整的手册可以通过 info 程序查看,也能在Emacs中查看。在GDB中输入 help 可查看命令类别列表:
| 命令类别 | 说明 |
| ---- | ---- |
| aliases | 其他命令的别名 |
| breakpoints | 在特定点使程序停止 |
| data | 检查数据 |
| files | 指定和检查文件 |
| internals | 维护命令 |
| obscure | 晦涩功能 |
| running | 运行程序 |
| stack | 检查栈 |
超级会员免费看
订阅专栏 解锁全文
1056

被折叠的 条评论
为什么被折叠?



