GDB:如何从子对象打印/调用父函数
GDB: How to print/call parent functions from a child object?
基本上就是这样。我无法从 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 接口,其中方法 size() 是。 sc_core
是namespace
.所以当我尝试得到这个时:
(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 可能已旧。 我们已经在最新版本中修复了此类错误。
相关文章:
- 如何获取列表的每个对象并调用getName方法来打印其名称
- 使用ifstream时,被调用文件中的数据不会打印
- 调用和打印函数,在 C++ 中返回数组
- Lua C API 自定义打印函数,在字符串中传递空格时不调用
- 为什么调用 cout.operator<<(const char*) 打印地址而不是字符串? 如何创建一个函数本地静态"HashSet<char>"并初始化它一次?
- 在文件中生成随机数,然后从文件调用它们,然后将它们打印出来
- UNIX API 调用:使用 read() 函数打开文件并将其打印到屏幕上会增加额外的随机字符
- 使用for_each从对象列表中调用打印功能
- 调用"stringstream::str()"来获取打印的内容实际上是合法的吗?
- 在WINDBG中调用C 方法实例并打印结果
- 通过插槽打印/显示QT函数调用的内容
- 在同一调用中打印 %n 的值 - 毫无意义?
- C / SFML:使用两个递归调用在屏幕上打印凸形形状仅显示第一个递归调用中的形状,而不是第二个
- 使用泛型函数调用打印结构的所有嵌套成员变量
- 我的函数返回的是打印到控制台,它只会在我调用它时每隔一段时间C++
- 如何在C++调用函数时打印每个函数名称
- GDB:如何从子对象打印/调用父函数
- 从catch块调用异常类中的函数并不是打印从try块传递的值
- 用"fprintf"打印错误后调用"getchar()"有什么意义?
- 是否可以调试打印当前函数的调用方