Visual C++ 2010向量调试 - 未显示任何内容

Ale*_*x Z 5 c++ debugging stl visual-studio-2010 visual-c++

当我尝试在VC++ 2010调试器中访问向量时,唯一可用的元素是"_M_start","_ M_end"和"_M_end_of_storage".屏幕截图示例如下:

矢量调试问题示例

我记得有一段时间后能够访问矢量的实际内容,但很长一段时间情况并非如此(我已经能够忍受它一段时间了).是否有一个特定的设置/功能,我不小心关闭或我完全错过了什么?

Nir*_*rMH 2

众所周知,VS IDE 无法显示非 Microsoft 拥有的 STL 的 STL 容器的调试信息。我在使用 STLPort 库时遇到了同样的问题。

但是,您仍然可以使用手表来探索矢量的内容,但这会更乏味。您可以通过在 _M_start 成员上使用数组索引方法来访问向量的元素。添加到您的手表

meshEdges._M_start[0]
Run Code Online (Sandbox Code Playgroud)

然后您将能够看到向量第一个元素的内容。没有简单的方法来探索/查看整个向量的元素,您必须自己迭代它,但它仍然是一些东西。

您可以在此链接中阅读更多内容http://umairsaeed.com/2009/11/23/visualizing-stlport-data-structs-in-visual-studio-debugger。它描述了如何将上述“知识”添加到VS IDE Watch组件中。我不确定你的 VS2010 编译器是否是最新的,但你可以自己探索。