【发布时间】:2012-04-10 22:49:05
【问题描述】:
当我尝试在 Visual Studio 调试器中查看 std::list 时,我基本上只想查看列表包含的所有 myList.size 值的数组。在理想情况下,我可以通过在 Watch Window 中输入一些 x
但是,这无济于事。相反,我必须手动扩展大量可笑的变量来逐个查看每个值:
myList -> std::_List_val -> std::_List_nod -> _Myhead -> _Myval
这只是列表中的第一个值。
这是调试查看列表中值的一种糟糕方式。有什么方法可以让我只查看列表中的所有值而不用担心实现细节?
这个问题也适用于其他 STD 容器,例如向量。我只想做“MyStdContainer, x”而不关心我如何包含我的变量。
谢谢!
【问题讨论】:
-
您实际上应该看到
std::list好像它是默认情况下在 VS 调试器窗口中的一个数组,在任何较新的 VS 版本中(我认为自 2005 年以来?) - 例如见technet.microsoft.com/en-us/query/aa718539。您是否偶然使用了 STL 的第三方实现(例如 STLPort)? -
真的吗?我绝对不会。 STL、VS2010 的第一方实现。
-
确保您没有在工具 -> 选项 -> 调试 -> 常规中选中“在变量窗口中显示对象的原始结构”。
-
嗯。好猜测,但我没有检查它。我现在很怀疑,因为我知道它已经应该是默认功能,会四处询问。
标签: c++ visual-studio std