调试监视器不显示std :: vector等对象的值。 另一方面,显示局部整数的值。
当我编译没有/clr
选项的项目时,一切都显示正确。
我尝试了不同的DebugModes(混合,自动,管理......),并使用不同的设置,就像JIT,“启用.Net Framework源步进”和Symbol服务器一样。但问题仍然存在。 (每次更改设置后,项目都是干净的/再次构建)
//#pragma managed(push, off)
int _tmain(int argc, _TCHAR* argv[])
{
int a = 5; //displayed correctly in debug watch
vector<myInt> vec;
myInt X(4);
vec.push_back(X); // displayed as Name: "vec", Value: "{...}" (no option to expand it)
vec.push_back(X+X);
vec.push_back(std::move(X));
std::vector<int> vec2;
vec2.push_back(a);
return 0;
}
//#pragma managed(pop)