gpt4 book ai didi

c++ - GDB:如何从子对象打印/调用父函数?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:46:45 27 4
gpt4 key购买 nike

基本上就是这样。我没有设法从 GDB 中的对象调用一些继承的函数/成员。

例如,我的代码中有这一行:

41      std::cout << foo->size() << std::endl;

在控制台中打印“foo”的大小。但是当我用 GDB 停下来并尝试打印它时,我得到了这个:

(gdb) print foo->size()
Couldn't find method foo::size

编辑

foo 声明是:

class foo : public sc_core::sc_module { ... };

sc_module 是一个SystemC接口(interface),方法size()就在这里。 sc_core命名空间。所以当我尝试得到这个时:

(gdb) print (sc_module*)pipe.name()
No symbol "sc_module" in current context.
(gdb) print (sc_core::sc_object*)pipe.name()
A syntax error in expression, near `)pipe.name()'.

有没有办法可以从那个点调用那个方法?

非常感谢:)

最佳答案

如果该方法已被优化,您可以看到此行为。也可能有其他原因。

后面示例中的语法错误表明您的 gdb 可能是旧的。我们在最近的版本中修复了此类错误。

关于c++ - GDB:如何从子对象打印/调用父函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21095156/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com