[Python-checkins] cpython (merge 3.5 -> 3.6): Merge 3.5

victor.stinner python-checkins at python.org
Fri Dec 16 04:07:20 EST 2016


https://hg.python.org/cpython/rev/598a00a4540a
changeset:   105668:598a00a4540a
branch:      3.6
parent:      105666:8d294c52df39
parent:      105667:092d4d83c50a
user:        Victor Stinner <victor.stinner at gmail.com>
date:        Fri Dec 16 10:00:53 2016 +0100
summary:
  Merge 3.5

files:
  Tools/gdb/libpython.py |  20 ++++++++++++++++++--
  1 files changed, 18 insertions(+), 2 deletions(-)


diff --git a/Tools/gdb/libpython.py b/Tools/gdb/libpython.py
--- a/Tools/gdb/libpython.py
+++ b/Tools/gdb/libpython.py
@@ -1570,7 +1570,11 @@
     def get_selected_python_frame(cls):
         '''Try to obtain the Frame for the python-related code in the selected
         frame, or None'''
-        frame = cls.get_selected_frame()
+        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 @@
 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 @@
 
     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 @@
 
 
     def invoke(self, args, from_tty):
+        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')
-        frame = Frame.get_selected_python_frame()
         while frame:
             if frame.is_python_frame():
                 frame.print_traceback()

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list