Kaydet (Commit) 3c193cf8 authored tarafından Miss Islington (bot)'s avatar Miss Islington (bot) Kaydeden (comit) Ned Deily

[3.7] bpo-29673: fix gdb scripts pystack and pystackv (GH-6126) (GH-6399)

(cherry picked from commit 3a9ccee0)
Co-authored-by: 's avatarMarcel Plch <gmarcel.plch@gmail.com>
üst 252f10cb
......@@ -1248,6 +1248,7 @@ Zero Piraeus
Antoine Pitrou
Jean-François Piéronne
Oleg Plakhotnyuk
Marcel Plch
Remi Pointel
Jon Poler
Ariel Poliak
......
......@@ -36,8 +36,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
......@@ -76,8 +76,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
......@@ -102,7 +102,7 @@ end
#end
define printframe
if $pc > PyEval_EvalFrameEx && $pc < PyEval_EvalCodeEx
if $pc > PyEval_EvalFrameEx && $pc < _PyEval_EvalFrameDefault
pyframe
else
frame
......@@ -129,7 +129,7 @@ end
# print the entire Python call stack
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
......@@ -140,7 +140,7 @@ end
# print the entire Python call stack - verbose mode
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
......
......@@ -3650,7 +3650,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 *
......
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