mirror of https://github.com/python/cpython
Merge 3.5
This commit is contained in:
commit
cb5fe9c22c
|
@ -1570,7 +1570,11 @@ class Frame(object):
|
|||
def get_selected_python_frame(cls):
|
||||
'''Try to obtain the Frame for the python-related code in the selected
|
||||
frame, or None'''
|
||||
try:
|
||||
frame = cls.get_selected_frame()
|
||||
except gdb.error:
|
||||
# No frame: Python didn't start yet
|
||||
return None
|
||||
|
||||
while frame:
|
||||
if frame.is_python_frame():
|
||||
|
@ -1711,6 +1715,10 @@ PyList()
|
|||
def move_in_stack(move_up):
|
||||
'''Move up or down the stack (for the py-up/py-down command)'''
|
||||
frame = Frame.get_selected_python_frame()
|
||||
if not frame:
|
||||
print('Unable to locate python frame')
|
||||
return
|
||||
|
||||
while frame:
|
||||
if move_up:
|
||||
iter_frame = frame.older()
|
||||
|
@ -1773,6 +1781,10 @@ class PyBacktraceFull(gdb.Command):
|
|||
|
||||
def invoke(self, args, from_tty):
|
||||
frame = Frame.get_selected_python_frame()
|
||||
if not frame:
|
||||
print('Unable to locate python frame')
|
||||
return
|
||||
|
||||
while frame:
|
||||
if frame.is_python_frame():
|
||||
frame.print_summary()
|
||||
|
@ -1790,8 +1802,12 @@ class PyBacktrace(gdb.Command):
|
|||
|
||||
|
||||
def invoke(self, args, from_tty):
|
||||
sys.stdout.write('Traceback (most recent call first):\n')
|
||||
frame = Frame.get_selected_python_frame()
|
||||
if not frame:
|
||||
print('Unable to locate python frame')
|
||||
return
|
||||
|
||||
sys.stdout.write('Traceback (most recent call first):\n')
|
||||
while frame:
|
||||
if frame.is_python_frame():
|
||||
frame.print_traceback()
|
||||
|
|
Loading…
Reference in New Issue