如果我有一个std::vector
或std::map
变量,并且我想看到内容,那么在调试时看到第n个元素会非常痛苦.是否有插件或一些技巧,以便在调试时更容易观察STL容器变量(VS2003/2005/2008)
?
如果要同时观看多个元素,可以附加逗号和元素数量,如下所示:
(v._Myfirst)[startIndex], count
但是,请注意count必须是常量,它不能是另一个表达式的结果.
对于向量,msdn论坛上的这个主题有一个代码片段,用于设置可能有帮助的向量索引上的监视.
在VS2005和VS 2008中,您可以看到STL容器的内容.获取数据的规则在autoexp.dat"c:\ Program Files\Microsoft Visual Studio 9\Common7\Packages\Debugger\autoexp.dat"中.
AutoExp.dat旨在自定义.但是,STL defs位于名为[Visualizer]的部分下.如果你能找出该部分使用的语言,那么你就会有更多的权力,但我建议你不要单独留下那部分.
Autoexp.dat存在于VS2003中,但不支持STL容器([Visualizer]不存在).在VS2003中,您必须手动导航基础数据表示.
通过修改autoexp.dat,可以添加用于导航自己类型的数据表示的规则,以便更容易调试.如果你这样做,你应该只添加[AutoExp]下的内容.在修改之前,请小心并备份此文件.
要在Visual Studio调试器中查看容器的第n个元素,请使用:
container.operator[](n)
您可以创建自定义可视化工具查看:http://www.virtualdub.org/blog/pivot/entry.php?id = 120