示例代码:
struct Message {
virtual int id() const { return 0; }
};
struct Ping : public Message {
virtual int id() const { return 1; }
};
假设您在gdb中加载了核心文件。 在这里你有一个消息*消息; 有没有一种简单的方法来确定idg函数将在msg上返回什么?
谢谢!
答案 0 :(得分:1)
您可以使用“set print object on”启用vtable检查以打印派生类型的对象。对于C ++来说,这是非常理想的,我已经在我的.gdbinit中使用了15年。
当然,使用核心时无法调用方法,但您至少可以看到实际类型并自行查找方法。