aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/python/lib/gdb/FrameDecorator.py12
2 files changed, 17 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 2e09ef6..b4acab8 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,12 @@
2014-01-23 Tom Tromey <tromey@redhat.com>
+ PR python/16485:
+ * python/lib/gdb/FrameDecorator.py: (FrameVars.fetch_frame_args):
+ Handle exception from frame.block.
+ (FrameVars.fetch_frame_locals): Likewise.
+
+2014-01-23 Tom Tromey <tromey@redhat.com>
+
PR python/16487:
* python/py-framefilter.c (py_print_frame): Don't call Py_DECREF
on a NULL pointer. Move "goto error" to correct place.
diff --git a/gdb/python/lib/gdb/FrameDecorator.py b/gdb/python/lib/gdb/FrameDecorator.py
index 1b8b4ed..1bbc5ab 100644
--- a/gdb/python/lib/gdb/FrameDecorator.py
+++ b/gdb/python/lib/gdb/FrameDecorator.py
@@ -258,7 +258,10 @@ class FrameVars(object):
are no frame local variables, return an empty list."""
lvars = []
- block = self.frame.block()
+ try:
+ block = self.frame.block()
+ except RuntimeError:
+ block = None
while block != None:
if block.is_global or block.is_static:
@@ -279,7 +282,12 @@ class FrameVars(object):
there are no frame argument variables, return an empty list."""
args = []
- block = self.frame.block()
+
+ try:
+ block = self.frame.block()
+ except RuntimeError:
+ block = None
+
while block != None:
if block.function != None:
break