C++ std::vector visualizer不';t在std::vector上不能正常工作<;boost::variant>;
如果我有一个C++ std::vector visualizer不';t在std::vector上不能正常工作<;boost::variant>;,c++,visual-studio,boost,debugging,C++,Visual Studio,Boost,Debugging,如果我有一个std::vector,VS2008 autoexp.dat文件中的visual studio std::vector可视化工具似乎无法工作。它确实适用于我尝试过的其他类型的向量(例如std::vector,std::vector) 以下是可视化工具代码: std::vector<*>{ children ( #array ( expr : ($e._Myfirst)[$i], size : $e._My
std::vector
,VS2008 autoexp.dat文件中的visual studio std::vector可视化工具似乎无法工作。它确实适用于我尝试过的其他类型的向量(例如std::vector
,std::vector
)
以下是可视化工具代码:
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
),
")"
)
)
}
子元素,应该是向量项,是实际的向量成员。就好像std::vector可视化工具不存在一样
我拍了一张手表窗口的截图。您可以看到它如何显示错误的std::vector
,然后正确显示接下来的两个向量:
有人知道是什么导致了这种情况,以及如何阻止它的发生吗
谢谢 这似乎是一个与类型名称大小相关的bug。。。variant生成具有很长名称的类型 我做了一些测试,似乎限制是名称大小为497个字符的结构。下面的代码复制错误。。。以结构名称的最后一个字符为例,它可以正常工作
struct abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopq
{
};
int main()
{
std::vector< abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopq > test2;
test2.resize(10);
return 0;
}
structABCDEFGHIjKLMNOPQRSTUVWXYZ012345 ABCDEFGHIjKLMNOPQRSTUVXYZ012345 ABCDEFGHIjKLMNOPQRSTUVWXYZ012345 ABCDEFGHIjKLMNOPQRSTUVWXYZ012345 ABCDEFGHIjKLMNOPQRSTUVXYZ012345 ABCDEFGHIjKLMNOPQRSTUVWZ012345 ABCDEFGHIjKLMNOPQRSTUVWZ012345 ABCDEFGHIjKLMNOPQRSTUVWZ012345 ABCDEFGHIjKLMNOPQRSTUVWZ012345ABCDEFGHIjKLMNOPQRSTUVXYZ012345ABCDEFGHIjKLMNOPQRSTUVXYZ012345ABCDEFGHIjKLMNOPQRSTUVXYZ012345ABCDEFGHIjKLMNOPQRSTUVWXYZ012345ABCDEFGHIjKLMNOPQRSTUVXYZ012345ABCDEFGHIjKLMNOPQ
{
};
int main()
{
标准::载体test2;
测试2.调整大小(10);
返回0;
}
请随时报告该错误,它似乎与类型名称的大小有关。。。variant生成具有很长名称的类型 我做了一些测试,似乎限制是名称大小为497个字符的结构。下面的代码复制错误。。。以结构名称的最后一个字符为例,它可以正常工作
struct abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopq
{
};
int main()
{
std::vector< abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopqrstuvwxyz012345abcdefghijklmnopq > test2;
test2.resize(10);
return 0;
}
structABCDEFGHIjKLMNOPQRSTUVWXYZ012345 ABCDEFGHIjKLMNOPQRSTUVXYZ012345 ABCDEFGHIjKLMNOPQRSTUVWXYZ012345 ABCDEFGHIjKLMNOPQRSTUVWXYZ012345 ABCDEFGHIjKLMNOPQRSTUVXYZ012345 ABCDEFGHIjKLMNOPQRSTUVWZ012345 ABCDEFGHIjKLMNOPQRSTUVWZ012345 ABCDEFGHIjKLMNOPQRSTUVWZ012345 ABCDEFGHIjKLMNOPQRSTUVWZ012345ABCDEFGHIjKLMNOPQRSTUVXYZ012345ABCDEFGHIjKLMNOPQRSTUVXYZ012345ABCDEFGHIjKLMNOPQRSTUVXYZ012345ABCDEFGHIjKLMNOPQRSTUVWXYZ012345ABCDEFGHIjKLMNOPQRSTUVXYZ012345ABCDEFGHIjKLMNOPQ
{
};
int main()
{
标准::载体test2;
测试2.调整大小(10);
返回0;
}
请随时在Oh上报告错误。真烦人。非常感谢你解开了这个谜!哦真烦人。非常感谢你解开了这个谜!