diff options
Diffstat (limited to 'Misc')
-rw-r--r-- | Misc/gdbinit | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/Misc/gdbinit b/Misc/gdbinit index 145cc3a..51370e2 100644 --- a/Misc/gdbinit +++ b/Misc/gdbinit @@ -43,12 +43,16 @@ define pylocals end end -# print the current frame +# print the current frame - verbose +define pyframev + pyframe + pylocals +end + define pyframe - set $__fn = PyString_AsString(co->co_filename) - set $__n = PyString_AsString(co->co_name) + set $__fn = (char *)((PyStringObject *)co->co_filename)->ob_sval + set $__n = (char *)((PyStringObject *)co->co_name)->ob_sval printf "%s (%d): %s\n", $__fn, f->f_lineno, $__n - pylocals end # Here's a somewhat fragile way to print the entire Python stack from gdb. @@ -72,3 +76,14 @@ define pystack end select-frame 0 end + +# print the entire Python call stack - verbose mode +define pystackv + while $pc < Py_Main || $pc > Py_GetArgcArgv + if $pc > PyEval_EvalFrame && $pc < PyEval_EvalCodeEx + pyframev + end + up-silently 1 + end + select-frame 0 +end |