如果我有一个std::vector或std::map变量,并且我希望看到它的内容,那么在调试时看到第n个元素是一件非常痛苦的事情。在调试(VS2003/2005/2008)时,有没有什么插件或者技巧可以让你更容易观察STL容器变量?
发布于 2008-09-19 20:00:46
对于矢量,msdn论坛上的这个thread提供了一个代码片段,用于在矢量索引上设置监视,这可能会有所帮助。
发布于 2008-09-19 20:57:10
如果您想同时查看多个元素,可以添加一个逗号和元素的数量:
(v._Myfirst)[startIndex], count
但是,请注意count必须是一个常量,它不能是另一个表达式的结果。
发布于 2008-09-21 18:28:51
在VS2005和VS2008中,你可以看到STL容器的内容。获取数据的规则在autoexp.dat "c:\Program Files\Microsoft Visual Studio 9\Common7\Packages\Debugger\autoexp.dat“中。
AutoExp.dat是可以定制的。但是,STL defs位于一个名为Visualizer的部分下。如果你能弄清楚这一部分使用的语言,你就会有更多的能力,然而,我建议你不要去管那部分。
VS2003中存在Autoexp.dat,但不支持STL容器(可视化工具不存在)。在VS2003中,您必须手动导航底层数据表示。
通过修改autoexp.dat,可以添加用于导航您自己的类型的数据表示的规则,从而使它们更易于调试。如果你这样做,你应该只添加到AutoExp下的东西。在修改此文件之前,请务必小心并对其进行备份。
https://stackoverflow.com/questions/104959
复制相似问题