Commit efe6e466 authored by hjk's avatar hjk
Browse files

Debugger: Filter out duplicate entries in LLDB frames



Task-number: QTCREATORBUG-11208

Change-Id: Iec79436b6a13a40de9b7b669bece2204ac858edb
Reviewed-by: default avatarEike Ziller <eike.ziller@digia.com>
parent 3b2cb038
...@@ -1013,12 +1013,19 @@ class Dumper(DumperBase): ...@@ -1013,12 +1013,19 @@ class Dumper(DumperBase):
self.put('data=[') self.put('data=[')
self.anonNumber = 0 self.anonNumber = 0
shadowed = {} shadowed = {}
values = [v for v in frame.GetVariables(True, True, False, False) if v.IsValid()] ids = {} # Filter out duplicates entries at the same address.
values = list(frame.GetVariables(True, True, True, False))
values.reverse() # To get shadowed vars numbered backwards. values.reverse() # To get shadowed vars numbered backwards.
for value in values: for value in values:
if not value.IsValid():
continue
name = value.GetName()
id = "%s:0x%x" % (name, value.GetAddress())
if id in ids:
continue
ids[id] = True
if self.dummyValue is None: if self.dummyValue is None:
self.dummyValue = value self.dummyValue = value
name = value.GetName()
if name is None: if name is None:
warn("NO NAME FOR VALUE: %s" % value) warn("NO NAME FOR VALUE: %s" % value)
continue continue
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment