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

标签 c++ linux debugging gdb eclipse-cdt

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

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 Pretty。)

关于c++ - 通过指针在 gdb/Eclipse CDT 调试监视中显示真实对象层次结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10178646/

相关文章:

c++ - 使用 C++ 标准库避免共享库中的符号冲突

java - 为什么我的java进程使用的内存(Linux RES)不断增加?

c++ - 计算机缺少 MSVCP100D.dll 文件

python - "Stackdriver Debugger is not set up for the python runtime on GAE Flex"警告

c++ - 下面的第一个片段编译,但第二个没有。为什么?

c++ - g++ 和 clang++ 与在模板类中定义的友元模板函数的不同行为

linux - GDB 窗口中的远程终端

c# - Visual Studio 2012 调试多个项目

c++ - 在 C++ 中处理类?

c++ - 返回指向 const 对象的 const 共享指针的 const vector