通过指针在 gdb/Eclipse CDT 调试监视中显示真实的对象层次结构

Show real object hierarchy in gdb/Eclipse CDT debug watch by pointer

本文关键字:显示 监视 真实 层次结构 对象 调试 CDT 指针 gdb Eclipse      更新时间:2023-10-16

MSVS有一个很好的功能,当观察指向接口的指针时,它会显示真实的对象。

例如
struct IIntf1 {}
struct IIntf2 {}
class CIntf1: public IIntf1 {}
class CIntf2: public IIntf2, public CIntf1 {}
IIntf1 *p = new CIntf2();

MSVS 将显示 p 实际上是 CIntf2,它是 IIntf1 及其所有成员,它甚至会在那里显示多个嵌套类(p 是 C/IIntf1 等)。

在Linux下,gdb和/或Eclipse CDT有这样的东西吗?

在 gdb 中尝试set print object on。 (如果您希望打印对象具有更多结构,也可以尝试set print pretty