【发布时间】:2009-07-06 15:07:53
【问题描述】:
如果我有std::vector<boost::variant<...>>,VS2008 autoexp.dat 文件中的 Visual Studio std::vector 可视化工具似乎不起作用。它确实适用于我尝试过的其他类型的向量(例如std::vector<int>、std::vector<boost::shared_ptr<..>>)
这是可视化代码:
std::vector<*>{
children
(
#array
(
expr : ($e._Myfirst)[$i],
size : $e._Mylast-$e._Myfirst
)
)
preview
(
#(
"[", $e._Mylast - $e._Myfirst , "](",
#array
(
expr : ($e._Myfirst)[$i],
size : $e._Mylast-$e._Myfirst
),
")"
)
)
}
预览显示的是项目数和项目值,而不是显示
{_Myfirst= _Mylast= _Myend= }
而应该是向量项的子项是实际的向量成员。就好像 std::vector 可视化工具不存在一样。
我截取了监视窗口的屏幕截图。你可以看到它如何显示std::vector<boost::variant<int, std::string>>错误,然后正确显示接下来的两个向量:Hyperlink to screenshot
有谁知道是什么原因造成的以及如何阻止它发生?
谢谢!
【问题讨论】:
标签: c++ visual-studio boost debugging