程序调试工具与技巧详解
1. 调试信息与可执行文件
调试信息会使可执行文件增大数倍(最多可达十倍),不过程序运行所需的内存量实际上不变。通常,在程序调试完成后发布前,移除调试信息是个不错的做法。可通过运行 strip <file> 命令,在不重新编译的情况下从可执行文件中移除调试信息。
2. 使用 gdb 进行调试
2.1 启动 gdb
要使用 GNU 调试器 gdb 调试程序,需先为调试重新编译示例程序,再启动 gdb:
$ cc -g -o debug3 debug3.c
$ gdb debug3
gdb 有丰富的在线帮助,完整手册可通过 info 程序查看,也能在 Emacs 中查看。在 gdb 中输入 help 可查看命令类别列表:
- aliases – 其他命令的别名
- breakpoints – 在特定点使程序停止
- data – 检查数据
- files – 指定和检查文件
- internals – 维护命令
- obscure – 晦涩功能
- running – 运行程序
- stack – 检查栈
- status – 状态查询
- support – 支持工具
- tracepoints – 在不停止程序的情况下跟踪程序执行
- user-defined – 用户定义的命令
超级会员免费看
订阅专栏 解锁全文
3万+

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



