如果我有一个 std::vector
或 std::map
变量,并且我想查看内容,那么调试时看到第 n 个元素会很痛苦。是否有插件或一些技巧可以在调试时更容易观察 STL 容器变量 (VS2003/2005/2008)
?
原文由 kevin42 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果我有一个 std::vector
或 std::map
变量,并且我想查看内容,那么调试时看到第 n 个元素会很痛苦。是否有插件或一些技巧可以在调试时更容易观察 STL 容器变量 (VS2003/2005/2008)
?
原文由 kevin42 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是旧的,但由于我经常偶然发现这篇文章,因为它仍然在谷歌上被引用很高,截至 Visual Studio 2019,人们可以简单地在调试器的 Watch 中编写:
vectorName.data()
(用您的变量名替换vectorName)以获取指向内容的指针。
然后,知道向量的当前大小,您可以告诉调试器显示前 N 个单元格:
vectorName.data(),N
(N 是你的向量的大小)
如果像我一样,你有很多实际存储另一个数据结构的字节向量,你甚至可以告诉调试器将指针解释为其他东西的数组:
(float*)vectorName.data(),4
例如,我有一个 16 字节的 std::vector,使用它我可以告诉调试器向我显示一个包含 4 个浮点数的数组(这对我来说比单独的字节更有用)。
原文由 Scylardor 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
对于矢量,msdn 论坛上的这个 线程 有一个代码片段,用于在矢量索引上设置监视,这可能会有所帮助。