2013-04-05 117 views
0

我在eclipse中用gdb调试C++程序。我现在该如何确定一个对象的确切类? 比方说,我调试的方法实例化对象的类

void foo(Instruction *I){ 
    I->bar(); 
} 

假设也是Instruction有很多子类。我怎么能知道Instruction的哪个子类实例化对象I

+0

给你的子类标签字段。它可以只是简单的枚举。将它们设置在每个子类的构造函数中。 – 2013-04-05 22:08:27

+0

我正在GDB中寻找解决方案,无需修改代码 – 2013-04-05 22:09:05

+0

您可以在gdb的命令行中使用dynamic_cast吗?否则,找到一个vptr? – 2013-04-05 22:11:26

回答

0

您想要“设置打印对象”。这将使用RTTI信息来打印完整的对象。

这应该是默认值;希望它会最终。