【发布时间】:2016-07-28 15:44:55
【问题描述】:
我正在使用 Microsoft Visual Studio 2015 中的 .natvis 文件编写调试器可视化工具。如果可能的话,我想在课堂上了解一条信息。我想知道获取该变量的语法是什么。
这是 C++ 代码的简化版本:
class MyClass
{
public:
MyClass() {}
int getAValue(size_t index)
{
static std::vector<int> numberVector;
if (numberVector.size() <= index)
{
addSomeNumbersToTheEnd(numberVector);
}
return numberVector[i];
}
}
在调试器中,当我将鼠标悬停在 MyClass 的一个实例上时,我想查看向量的大小,但我不知道如何引用它(或者是否可能)。这是可视化器类型,<what goes here?> 在我遇到问题的地方:
<Type Name="MyClass">
<DisplayString>[$(Type)] staticVectorSize={<what goes here?>}</DisplayString>
</Type>
实际的问题要复杂得多,涉及到奇怪地重复出现的模板模式来创建更好的枚举对象,所以请不要对这个有点做作的场景的无用提出意见。
【问题讨论】:
-
您是否要求语法来引用具有函数范围的静态对象,或者如何获取
std::vector的大小,因为您无法调用size()成员? -
@IInspectable 我正在尝试引用具有函数范围的静态对象。我知道如何获得尺寸。
标签: c++ visual-studio static visual-studio-2015 natvis