Commit 44c19f64 authored by Neal Norwitz's avatar Neal Norwitz

Get gdb macros working with unicode and PyVarObject change

parent 1e93f2b5
...@@ -32,7 +32,7 @@ define pylocals ...@@ -32,7 +32,7 @@ define pylocals
while $_i < f->f_nlocals while $_i < f->f_nlocals
if f->f_localsplus + $_i != 0 if f->f_localsplus + $_i != 0
set $_names = co->co_varnames set $_names = co->co_varnames
set $_name = PyString_AsString(PyTuple_GetItem($_names, $_i)) set $_name = PyUnicode_AsString(PyTuple_GetItem($_names, $_i))
printf "%s:\n", $_name printf "%s:\n", $_name
# side effect of calling _PyObject_Dump is to dump the object's # side effect of calling _PyObject_Dump is to dump the object's
# info - assigning just prevents gdb from printing the # info - assigning just prevents gdb from printing the
...@@ -49,7 +49,7 @@ define lineno ...@@ -49,7 +49,7 @@ define lineno
set $__continue = 1 set $__continue = 1
set $__co = f->f_code set $__co = f->f_code
set $__lasti = f->f_lasti set $__lasti = f->f_lasti
set $__sz = ((PyStringObject *)$__co->co_lnotab)->ob_size/2 set $__sz = ((PyVarObject *)$__co->co_lnotab)->ob_size/2
set $__p = (unsigned char *)((PyStringObject *)$__co->co_lnotab)->ob_sval set $__p = (unsigned char *)((PyStringObject *)$__co->co_lnotab)->ob_sval
set $__li = $__co->co_firstlineno set $__li = $__co->co_firstlineno
set $__ad = 0 set $__ad = 0
...@@ -74,7 +74,7 @@ end ...@@ -74,7 +74,7 @@ end
define pyframe define pyframe
set $__fn = (char *)((PyStringObject *)co->co_filename)->ob_sval set $__fn = (char *)((PyStringObject *)co->co_filename)->ob_sval
set $__n = (char *)((PyStringObject *)co->co_name)->ob_sval set $__n = PyUnicode_AsString(co->co_name)
printf "%s (", $__fn printf "%s (", $__fn
lineno lineno
printf "): %s\n", $__n printf "): %s\n", $__n
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment