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

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



