Mirror of the gdb mailing list
 help / color / mirror / Atom feed
* Casting an object to another type while debugging?
@ 2016-04-15  3:02 Thomas Nyberg
  2016-04-15  3:09 ` Yichao Yu
  0 siblings, 1 reply; 3+ messages in thread
From: Thomas Nyberg @ 2016-04-15  3:02 UTC (permalink / raw)
  To: gdb

Hello,

Please yell and scream if I'm posting this to the wrong list (and then
point me in the right direction :) ).

To make my situation specific, I'm stepping through the cpython
implementation of the python interpreter using gdb. The implementation
tends to pass around all objects as type (PyObject *). I know that a
certain object can be cast to (PyUnicode_Type *) and so I've tried to do
this to print out the structure, but without success. Here are some
examples:

```
(gdb) print name
$10 = (PyObject *) 0x7ffff7ee3298
(gdb) print *name
$11 = {ob_refcnt = 2, ob_type = 0x8a1a00 <PyUnicode_Type>}
(gdb) print name
$12 = (PyObject *) 0x7ffff7ee3298
(gdb) print *name
$13 = {ob_refcnt = 2, ob_type = 0x8a1a00 <PyUnicode_Type>}
(gdb) print (void *) name
$14 = (void *) 0x7ffff7ee3298
(gdb) print * (void *) name
Attempt to dereference a generic pointer.
(gdb) print * (PyUnicode_Type *) name
A syntax error in expression, near `) name'.
(gdb) print * (PyUnicode_Typ *) name
No symbol "PyUnicode_Typ" in current context.
(gdb) print (PyUnicode_Type *) name
A syntax error in expression, near `) name'.
(gdb) print ((PyUnicode_Type *) name)
A syntax error in expression, near `) name)'.
(gdb) print ((PyUnicode_Type *) name);
A syntax error in expression, near `) name);'.
```

So from this it seems to me like it's recognizing the PyUnicode_Type
fine, but I just get this weird syntax error. My google-foo hasn't
worked out that well so far in resolving this. What am I doing wrong? Am
I misunderstanding how casting works?

Thanks for any help!

Cheers,
Thomas


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-04-15  3:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-15  3:02 Casting an object to another type while debugging? Thomas Nyberg
2016-04-15  3:09 ` Yichao Yu
2016-04-15  3:12   ` Thomas Nyberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox