Debugger: Fix LLDB listing registers when no frame is selected

Change-Id: I6c3d193a2622ed07c34e68bf8b5780d55520e4f2
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2020-05-06 11:10:04 +02:00
parent 3559af69db
commit ca862e3fff

View File

@@ -1267,23 +1267,29 @@ class Dumper(DumperBase):
self.put('],partial="%d"' % isPartial) self.put('],partial="%d"' % isPartial)
self.reportResult(self.output, args) self.reportResult(self.output, args)
def fetchRegisters(self, args=None): def fetchRegisters(self, args=None):
if self.process is None: if not self.process:
result = 'process="none"' self.reportResult('process="none",registers=[]', args)
else: return
frame = self.currentFrame()
if frame: frame = self.currentFrame()
result = 'registers=[' if not frame or not frame.IsValid():
for group in frame.GetRegisters(): self.reportResult('frame="none",registers=[]', args)
for reg in group: return
value = ''.join(["%02x" % x for x in reg.GetData().uint8s])
result += '{name="%s"' % reg.GetName() result = 'registers=['
result += ',value="0x%s"' % value for group in frame.GetRegisters():
result += ',size="%s"' % reg.GetByteSize() for reg in group:
result += ',type="%s"},' % reg.GetType() value = ''.join(["%02x" % x for x in reg.GetData().uint8s])
result += ']' result += '{name="%s"' % reg.GetName()
result += ',value="0x%s"' % value
result += ',size="%s"' % reg.GetByteSize()
result += ',type="%s"},' % reg.GetType()
result += ']'
self.reportResult(result, args) self.reportResult(result, args)
def setRegister(self, args): def setRegister(self, args):
name = args["name"] name = args["name"]
value = args["value"] value = args["value"]