通过指针在 gdb/Eclipse CDT 调试监视中显示真实对象层次结构
Posted
技术标签:
【中文标题】通过指针在 gdb/Eclipse CDT 调试监视中显示真实对象层次结构【英文标题】:Show real object hierarchy in gdb/Eclipse CDT debug watch by pointer 【发布时间】:2012-04-16 17:18:45 【问题描述】: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 有类似的东西吗?
【问题讨论】:
【参考方案1】:在 gdb 中尝试set print object on
。 (如果您希望打印的对象具有更多结构,您也可以尝试set print pretty
。)
【讨论】:
以上是关于通过指针在 gdb/Eclipse CDT 调试监视中显示真实对象层次结构的主要内容,如果未能解决你的问题,请参考以下文章
使用 Eclipse CDT/RSE/RDT 远程调试 C++ 应用程序
Eclipse CDT:线程在调试模式下获取 SIGPIPE
是否可以在 eclipse CDT 中将调试会话附加到正在运行的程序