C++ 如何在visualc+中查看std::map的内容+。NET(Visual Studio 2003)进行调试时?
我需要在调试时查看std::map变量的内容。但是,如果我在Autos/Locals选项卡中单击它,我会看到特定于实现的内容,而不是我想要查看的键及其内容。是否有我缺少的解决方案?我没有Visual Studio 2003的副本可供测试,但我刚刚检查了VS2008和2010,它们都会在悬停时自动显示地图的内容。我模模糊糊地记得2003年STL检查时遇到了很多麻烦,所以我猜这是他们在这几年中大幅改进的一项功能C++ 如何在visualc+中查看std::map的内容+。NET(Visual Studio 2003)进行调试时?,c++,visual-studio,debugging,stl,map,C++,Visual Studio,Debugging,Stl,Map,我需要在调试时查看std::map变量的内容。但是,如果我在Autos/Locals选项卡中单击它,我会看到特定于实现的内容,而不是我想要查看的键及其内容。是否有我缺少的解决方案?我没有Visual Studio 2003的副本可供测试,但我刚刚检查了VS2008和2010,它们都会在悬停时自动显示地图的内容。我模模糊糊地记得2003年STL检查时遇到了很多麻烦,所以我猜这是他们在这几年中大幅改进的一项功能 如果你的项目是可能的,你可能会考虑升级到Visual C++ 2008 Express,
如果你的项目是可能的,你可能会考虑升级到Visual C++ 2008 Express,这是免费的,应该有你需要的大部分特性。但是您可以尝试在“autoexp.dat”中添加以下部分(我确信在VS2003中已经包含了所有标准类型的部分):
------------------------------------------------------------------------------
; 标准::地图
;------------------------------------------------------------------------------
标准::地图{
儿童
(
#树
(
头:$c.(我的头->)父母,
跳过:$c.我的头,
尺寸:$c.\u Mysize,
左:_左,
对
):$e.\u Myval
)
预览
(
#(
"[",
$e.\u Mysize,
"](",
#树
(
头:$c.(我的头->)父母,
跳过:$c.我的头,
尺寸:$c.\u Mysize,
左:_左,
对
):$e.\u Myval,
")"
)
)
}
此文件的结构和autoexp规则的语法可能会随着Visual Studio的不同版本而变化。阅读有关Visual Studio自定义可视化工具的详细信息
;------------------------------------------------------------------------------
; std::map
;------------------------------------------------------------------------------
std::map<*>{
children
(
#tree
(
head : $c._Myhead->_Parent,
skip : $c._Myhead,
size : $c._Mysize,
left : _Left,
right : _Right
) : $e._Myval
)
preview
(
#(
"[",
$e._Mysize,
"](",
#tree
(
head : $c._Myhead->_Parent,
skip : $c._Myhead,
size : $c._Mysize,
left : _Left,
right : _Right
) : $e._Myval,
")"
)
)
}