subaru - ¿Por qué gdb casting no funciona?
how to use gdb (4)
Acabo de llegar a un problema similar, y, de un colega mío, me enteré de que debe proporcionar el espacio de nombres al que pertenece la clase dentro de una sola cotización de la siguiente manera:
(gdb) p (''MyScope :: MyClass'' *) ptr;
Yo uso print (CEthPacket*) 0xeb609a0
para examinar un objeto en la dirección dada y obtener A syntax error in expression, near '') 0xeb609a0''.
¿Qué estoy haciendo mal?
EDITAR: CEthPacket es una clase de C ++ y estoy en gdb Fedora (6.8-37.el5).
Me encontré con un error muy similar. Fue causado porque estaba tratando de hacer referencia a un objeto que no está definido en el alcance del marco de pila actual. Intente cambiar a un marco de pila donde se define el objeto CEthrPacket.
No dijiste en qué plataforma, qué versión de GDB, o qué es CEthPacket
.
Mi primera suposición es que deberías intentar print (struct CEthPacket *) 0xeb609a0
en print (struct CEthPacket *) 0xeb609a0
lugar.
También su espacio de nombres inicial es el de la pila actual. Si desea comenzar desde la raíz, debe usar :: NS1 :: NS2 :: Obj.