C++ Autoexp.dat和静态数组

C++ Autoexp.dat和静态数组,c++,visual-studio-2010,visual-studio,debuggervisualizer,C++,Visual Studio 2010,Visual Studio,Debuggervisualizer,我目前正在使用autoexp.dat和natvis在Visual Studio 2010和Visual Studio 2012中为我的类创建调试可视化工具。natvis一切正常,但autoexp.dat有一个问题 当我创建类的静态数组时,调试器将我的数组显示为类的一个实例,而不是类的数组。这只有在我编写children部分时才会发生 我的autoexp.dat: TestA{ preview( #("a=", $e.m_a, " b=",$e.m_b) ) children(#

我目前正在使用autoexp.dat和natvis在Visual Studio 2010和Visual Studio 2012中为我的类创建调试可视化工具。natvis一切正常,但autoexp.dat有一个问题

当我创建类的静态数组时,调试器将我的数组显示为类的一个实例,而不是类的数组。这只有在我编写children部分时才会发生

我的autoexp.dat:

TestA{
    preview( #("a=", $e.m_a, " b=",$e.m_b) )

    children(#(#(a : $e.m_a),#(b : $e.m_b)))
}
以及我的快速程序来显示问题:

class TestA
{
public:
    TestA():m_a(0),m_b(0){}
    TestA(int a, int b):m_a(a),m_b(b){}
private :
    int m_a;
    int m_b;
};

int main()
{
    TestA test[10];

    for (int i = 0; i < 10; ++i)
    {
        test[i] = TestA(i,i);
    }

    return 0;
}
类测试
{
公众:
TestA():m_a(0),m_b(0){}
TestA(inta,intb):m_a(a),m_b(b){}
私人:
国际货币基金组织;
国际货币基金组织;
};
int main()
{
种皮试验[10];
对于(int i=0;i<10;++i)
{
试验[i]=试验a(i,i);
}
返回0;
}
下面是我在调试器中看到的有子项部分和无子项部分(很抱歉,我无法发布图像)

与: 没有:

我希望看到我所有的数组都是这样的,没有子元素部分,但是有a/b,而不是m_a/m_b


提前谢谢你

你有没有想到这一点?我也遇到了同样的情况。我的团队主要使用vs2012,因此我没有花太多时间来解决问题,因为我们总是在2012年进行调试。