Handle error in lookup of 'ob_base' (in case the memory can't be read)
authorMark Florisson <eggy.nospam@gmail.com>
Sat, 13 Nov 2010 20:47:00 +0000 (21:47 +0100)
committerMark Florisson <eggy.nospam@gmail.com>
Sat, 13 Nov 2010 20:47:00 +0000 (21:47 +0100)
Cython/Debugger/libpython.py

index c582e62cede10c5b508ef6963063efaece4b001d..45e1fde257d40851923ef1c609bb162b63f0dd9a 100644 (file)
@@ -165,8 +165,11 @@ class PyObjectPtr(object):
                 return self._gdbval.dereference()[name]
             except RuntimeError:
                 # Python 3:
-                return self._gdbval.dereference()['ob_base'][name]
-
+                try:
+                    return self._gdbval.dereference()['ob_base'][name]
+                except RuntimeError:
+                    return 0
+                
         # General case: look it up inside the object:
         return self._gdbval.dereference()[name]