PyObject_Print in gdb

C

Chris Miles

I've been using gdb to debug some Python extension modules lately,
which has been very handy, but cannot get PyObject_Print() to work
from within gdb, as recommended by http://wingware.com/doc/howtos/debugging-extension-modules-on-linux

It recommends using "p PyObject_Print (obj, stderr, 0)" but stderr
(and stdout) symbols are never available for me.

(gdb) p args
$2 = (PyObject *) 0x405030
(gdb) p PyObject_Print (args, stderr, 0)
No symbol "stderr" in current context.
(gdb) p PyObject_Print (args, stdout, 0)
No symbol "stdout" in current context.

Any tips on how to reference the stdout/stderr file pointers within
gdb?

Cheers,
Chris
 
C

Chris Miles

I'm still not sure about PyObject_Print, but I found a better
solution, using the Misc/gdbinit file from the Python source tree,
which defines a pyo macro.

Example:
(gdb) pyo some_object
object : []
type : list
refcount: 1
address : 0x4b5940
$3 = void

Cheers,
Chris
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,432
Messages
2,571,680
Members
48,796
Latest member
Greg L.

Latest Threads

Top