c++ - 在 Windbg 中调试 C++ STL 容器

标签 c++ stl windbg

Windbg 粉丝声称它非常强大,我倾向于同意。但是当涉及到调试STL容器时,我总是卡住了。如果变量在堆栈上,则 !stl扩展有时会解决这个问题,但是当具有复杂类型(例如 std::vector<TemplateField, std::allocator<TemplateField> > )的容器位于堆上或某些其他结构的一部分时,我只是不知道如何查看其内容。

感谢任何提示、指示。

最佳答案

我经常发现调试器对 STL 数据类型的支持不足。出于这个原因,我越来越多地使用 logging frameworks and logging statements .我曾经认为这些是为那些不能使用调试器的人准备的,但我现在意识到它们提供了真正的值(value)。它们允许您在代码中嵌入可移植的调试知识,并与代码一起维护。相比之下,您在调试器中所做的工作通常是短暂的。

关于c++ - 在 Windbg 中调试 C++ STL 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/143073/

相关文章:

Windbg:命令输出到文本文件

asp.net - 如何调试尖峰 ASP.NET 进程的内存转储?

c++ - 模块化功能背后的逻辑

c++ - 错误 C2664 : 'bool Strless::operator ()(const TCHAR *&,const TCHAR *&) const' : cannot convert parameter 1 from 'wchar_t *const ' to 'const TCHAR *&'

c++ - 在线程中访问 vector.front() 会导致运行时错误

c++ - 在 C++ 字符串中转义 XML/HTML 的最有效方法?

c++ - 有序元素的最佳容器

windbg - 使用 dbghelp 查找类方法的符号地址

c++ - _dl_runtime_resolve() 中的段错误

c++ - 跨 COM 边界传递 CComSafeArray