2

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

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

我的 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;
}

这是我在带有子部分的调试器中看到的,没有(抱歉我不能发布图像)。

有:http: //i.stack.imgur.com/LIhEv.jpg 没有:http: //i.stack.imgur.com/QpsNu.jpg

我希望看到我的所有数组,比如没有子部分,但有 a/b 而不是 m_a/m_b。

先感谢您

4

0 回答 0