在 VS2015 调试器中自动进行嵌套变量转储

Automate nested variable dump in VS2015 debugger

目前我正在研究 'minidump with heap'。我想编写一个重现崩溃的单元测试,但因此我需要导致崩溃的数据。

使用 Visual Studio 调试器,我可以 'watch' 有问题的数据结构,但它们非常大(>10k 个对象)和复杂(使用...列表的列表)并且我很想以某种方式将这些数据转储为某种可读格式。

结构看起来像这样

struct Bottom {
   int x, y, z;
};
struct Mid {
    std::list<Bottom> bottoms;
};
struct Top {
    std::list<Mid> mids;
};

有没有办法我可以写一个 macro/extension/... 来提取例如堆转储中的所有 x, y, z 数据?

是否有其他调试器可以完成此任务?

实际上您可以在 VS debugger Watch window 中查看数据结构,但它根据您的要求很复杂。如果是这样,一个想法是您可以创建 custom view of native objects,这样即使使用相同的调试 Watch window.

也可以轻松查看它