【发布时间】:2013-03-28 11:25:55
【问题描述】:
我正在eclipse中用gdb调试一个c++程序。我现在怎么知道一个对象的确切类别? 假设我正在调试一个方法
void foo(Instruction *I){
I->bar();
}
假设Instruction 有很多子类。我怎么知道Instruction 的哪个子类实例化了对象I?
【问题讨论】:
-
给你的子类标签字段。它可以只是简单的枚举。在每个子类的构造函数中设置它们。
-
我正在GDB中寻找解决方案,不修改代码
-
你能在 gdb 的命令行中进行 dynamic_cast 吗?否则,找一个vptr?
-
我可以在gdb中动态转换,但是,由于子类超过50个,这会很麻烦。什么是 vptr?
-
我知道 Visual Studio 会向您展示此信息。 eclipse中应该有类似的东西。
标签: c++ gdb eclipse-cdt