mirror of
https://github.com/python/cpython.git
synced 2025-08-08 10:58:51 +00:00
Issue #8437: Fix test_gdb failures, patch written by Dave Malcolm
This commit is contained in:
parent
e593fad81b
commit
a92e81bf48
3 changed files with 35 additions and 14 deletions
|
@ -1148,18 +1148,17 @@ class Frame(object):
|
|||
|
||||
def is_evalframeex(self):
|
||||
'''Is this a PyEval_EvalFrameEx frame?'''
|
||||
if self._gdbframe.function():
|
||||
if self._gdbframe.name() == 'PyEval_EvalFrameEx':
|
||||
'''
|
||||
I believe we also need to filter on the inline
|
||||
struct frame_id.inline_depth, only regarding frames with
|
||||
an inline depth of 0 as actually being this function
|
||||
if self._gdbframe.name() == 'PyEval_EvalFrameEx':
|
||||
'''
|
||||
I believe we also need to filter on the inline
|
||||
struct frame_id.inline_depth, only regarding frames with
|
||||
an inline depth of 0 as actually being this function
|
||||
|
||||
So we reject those with type gdb.INLINE_FRAME
|
||||
'''
|
||||
if self._gdbframe.type() == gdb.NORMAL_FRAME:
|
||||
# We have a PyEval_EvalFrameEx frame:
|
||||
return True
|
||||
So we reject those with type gdb.INLINE_FRAME
|
||||
'''
|
||||
if self._gdbframe.type() == gdb.NORMAL_FRAME:
|
||||
# We have a PyEval_EvalFrameEx frame:
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
|
@ -1309,8 +1308,6 @@ class PyUp(gdb.Command):
|
|||
def invoke(self, args, from_tty):
|
||||
move_in_stack(move_up=True)
|
||||
|
||||
PyUp()
|
||||
|
||||
class PyDown(gdb.Command):
|
||||
'Select and print the python stack frame called by this one (if any)'
|
||||
def __init__(self):
|
||||
|
@ -1323,7 +1320,10 @@ class PyDown(gdb.Command):
|
|||
def invoke(self, args, from_tty):
|
||||
move_in_stack(move_up=False)
|
||||
|
||||
PyDown()
|
||||
# Not all builds of gdb have gdb.Frame.select
|
||||
if hasattr(gdb.Frame, 'select'):
|
||||
PyUp()
|
||||
PyDown()
|
||||
|
||||
class PyBacktrace(gdb.Command):
|
||||
'Display the current python frame and all the frames within its call stack (if any)'
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue