使用gdb进行调试,任何使用STL/boost的c ++代码仍然是一场噩梦.任何使用过STL的gdb的人都知道这一点.例如,请参阅此处代码中的一些调试会话的示例运行.
我试图通过收集提示来减轻疼痛.您能否对我在下面收集的提示发表评论(特别是您使用过的提示以及您建议的任何更改) - 我列出的提示是技术性的降序.
- 有人使用"Stanford GDB STL utils"和"UCF GDB utils"吗?是否有一些这样的工具用于boost数据结构?上面的util似乎不是递归可用的,例如用于在一个命令内以清晰的方式打印boost :: shared_ptr的向量.
- 写你的.gdbinit文件.例如,包括C++相关的美化器,列在UCF GDB工具的底部.
- 使用checked/debug STL/Boost库,例如STLport.
- 使用日志记录(例如描述这里)
更新:GDB有一个新的C++分支.