2
现代C++有很多模板化和封装的元素,这些元素在调试过程中变得很麻烦,因为gdb是通用调试器,没有特定的C++功能。如何在使用g ++和C++进行调试期间快速查看复杂结构
无法轻松列出STL容器中的元素。当使用boost :: shared_ptr共享指针时,通常没有办法去引用对象来查看发生了什么。
是否有一组gdb宏,甚至更高级的gdb版本,可以使这件事更容易看到?
现代C++有很多模板化和封装的元素,这些元素在调试过程中变得很麻烦,因为gdb是通用调试器,没有特定的C++功能。如何在使用g ++和C++进行调试期间快速查看复杂结构
无法轻松列出STL容器中的元素。当使用boost :: shared_ptr共享指针时,通常没有办法去引用对象来查看发生了什么。
是否有一组gdb宏,甚至更高级的gdb版本,可以使这件事更容易看到?
无法轻松地列出STL容器中的元素。
是有,如果你使用GDB 7,并从过去四年左右,最近的GCC,那么你应该有哪些表现容器,智能指针等标准库的内容类型可用的Python漂亮打印机。见我的答案在https://stackoverflow.com/a/15329434/981959
你也可以写你自己的Python打印机非标准类型,如boost::shared_ptr
有GDB的一组GDB宏,或甚至更高级的版本,可以让这个东西更容易看到?
有一些宏在五年前有用,但现在不需要它们,因为它已经构建到GDB和GCC中。所以我认为你的问题的答案是“是的,有一个更先进的GDB,你有没有尝试升级?”