为什么GDB铸造不工作?

我使用print (CEthPacket*) 0xeb609a0来检查给定地址处的对象,并A syntax error in expression, near ') 0xeb609a0'.获得A syntax error in expression, near ') 0xeb609a0'.

我究竟做错了什么?

编辑:CEthPacket是一个C + +类,我在GDB Fedora(6.8-37.el5)。

我碰到类似的问题,从我的一个同事那里,我了解到,你需要在一个单引号内提供这个类所属的名字空间,如下所示:

(gdb)p('MyScope :: MyClass'*)ptr;

你没有说在哪个平台上,哪个版本的GDB,或者什么CEthPacket

我的第一个猜测是你应该尝试print (struct CEthPacket *) 0xeb609a0来代替。

我遇到了一个非常类似的错误。 这是因为我试图引用未在当前堆栈框架范围内定义的对象。 尝试更改为定义了CEthrPacket对象的堆栈帧。