mirror of https://github.com/python/cpython.git
bpo-29673: fix gdb scripts pystack and pystackv (GH-6126)
This commit is contained in:
parent
1d87c7b80b
commit
3a9ccee0e5
|
@ -1250,6 +1250,7 @@ Zero Piraeus
|
|||
Antoine Pitrou
|
||||
Jean-François Piéronne
|
||||
Oleg Plakhotnyuk
|
||||
Marcel Plch
|
||||
Remi Pointel
|
||||
Jon Poler
|
||||
Ariel Poliak
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Fix pystackv and pystack gdbinit macros.
|
14
Misc/gdbinit
14
Misc/gdbinit
|
@ -42,8 +42,8 @@ define pylocals
|
|||
set $_i = 0
|
||||
while $_i < f->f_code->co_nlocals
|
||||
if f->f_localsplus + $_i != 0
|
||||
set $_names = co->co_varnames
|
||||
set $_name = _PyUnicode_AsString(PyTuple_GetItem($_names, $_i))
|
||||
set $_names = f->f_code->co_varnames
|
||||
set $_name = PyUnicode_AsUTF8(PyTuple_GetItem($_names, $_i))
|
||||
printf "%s:\n", $_name
|
||||
pyo f->f_localsplus[$_i]
|
||||
end
|
||||
|
@ -84,8 +84,8 @@ define pyframev
|
|||
end
|
||||
|
||||
define pyframe
|
||||
set $__fn = _PyUnicode_AsString(co->co_filename)
|
||||
set $__n = _PyUnicode_AsString(co->co_name)
|
||||
set $__fn = PyUnicode_AsUTF8(f->f_code->co_filename)
|
||||
set $__n = PyUnicode_AsUTF8(f->f_code->co_name)
|
||||
printf "%s (", $__fn
|
||||
lineno
|
||||
printf "): %s\n", $__n
|
||||
|
@ -110,7 +110,7 @@ end
|
|||
#end
|
||||
|
||||
define printframe
|
||||
if $pc > PyEval_EvalFrameEx && $pc < PyEval_EvalCodeEx
|
||||
if $pc > PyEval_EvalFrameEx && $pc < _PyEval_EvalFrameDefault
|
||||
pyframe
|
||||
else
|
||||
frame
|
||||
|
@ -139,7 +139,7 @@ document pystack
|
|||
end
|
||||
define pystack
|
||||
while $pc < Py_Main || $pc > Py_GetArgcArgv
|
||||
if $pc > PyEval_EvalFrameEx && $pc < PyEval_EvalCodeEx
|
||||
if $pc > PyEval_EvalFrameEx && $pc < _PyEval_EvalFrameDefault
|
||||
pyframe
|
||||
end
|
||||
up-silently 1
|
||||
|
@ -152,7 +152,7 @@ document pystackv
|
|||
end
|
||||
define pystackv
|
||||
while $pc < Py_Main || $pc > Py_GetArgcArgv
|
||||
if $pc > PyEval_EvalFrameEx && $pc < PyEval_EvalCodeEx
|
||||
if $pc > PyEval_EvalFrameEx && $pc < _PyEval_EvalFrameDefault
|
||||
pyframev
|
||||
end
|
||||
up-silently 1
|
||||
|
|
|
@ -3661,7 +3661,7 @@ too_many_positional(PyCodeObject *co, Py_ssize_t given, Py_ssize_t defcount,
|
|||
}
|
||||
|
||||
/* This is gonna seem *real weird*, but if you put some other code between
|
||||
PyEval_EvalFrame() and PyEval_EvalCodeEx() you will need to adjust
|
||||
PyEval_EvalFrame() and _PyEval_EvalFrameDefault() you will need to adjust
|
||||
the test in the if statements in Misc/gdbinit (pystack and pystackv). */
|
||||
|
||||
PyObject *
|
||||
|
|
Loading…
Reference in New Issue