summaryrefslogtreecommitdiff
path: root/src/main-gdb-head.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/main-gdb-head.py')
-rw-r--r--src/main-gdb-head.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/main-gdb-head.py b/src/main-gdb-head.py
index 75e43bf..8c6fe08 100644
--- a/src/main-gdb-head.py
+++ b/src/main-gdb-head.py
@@ -5,7 +5,7 @@
# gdb sticks everything in one scope.
# This lets us enumerate what *we* added.
-initial_globals = set(globals())
+initial_globals = {id(v):v for v in globals().itervalues()}
import re
@@ -32,15 +32,16 @@ def get_basic_type(type_):
def finish():
global finish, initial_globals, FastPrinters
- diff = set(globals()) - initial_globals \
+ final_globals = {id(v):v for v in globals().itervalues()}
+ diff = final_globals.viewkeys() - initial_globals.viewkeys() \
- {'finish', 'initial_globals', 'FastPrinters'}
fp = FastPrinters()
# After this, don't access any more globals in this function.
del finish, initial_globals, FastPrinters
- for k in diff:
- v = globals()[k]
+ for i in diff:
+ v = final_globals[i]
if hasattr(v, 'children') or hasattr(v, 'to_string'):
fp.add_printer(v)