Debugger: Do not limit inferior output chunks to 1024 chars with LLDB

Task-number: QTCREATORBUG-24667
Change-Id: Ie59db04b0c1e46c4c06a1761eee3859ae18bcf7f
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Reviewed-by: David M. Cotter <dave@kjams.com>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
hjk
2020-12-14 08:25:11 +01:00
parent c12a3909bb
commit e09867d7de

View File

@@ -1464,17 +1464,19 @@ class Dumper(DumperBase):
elif eventType == lldb.SBProcess.eBroadcastBitInterrupt: # 2 elif eventType == lldb.SBProcess.eBroadcastBitInterrupt: # 2
pass pass
elif eventType == lldb.SBProcess.eBroadcastBitSTDOUT: elif eventType == lldb.SBProcess.eBroadcastBitSTDOUT:
# FIXME: Size? self.handleInferiorOutput(self.process.GetSTDOUT, "stdout")
msg = self.process.GetSTDOUT(1024)
if msg is not None:
self.report('output={channel="stdout",data="%s"}' % self.hexencode(msg))
elif eventType == lldb.SBProcess.eBroadcastBitSTDERR: elif eventType == lldb.SBProcess.eBroadcastBitSTDERR:
msg = self.process.GetSTDERR(1024) self.handleInferiorOutput(self.process.GetSTDERR, "stderr")
if msg is not None:
self.report('output={channel="stderr",data="%s"}' % self.hexencode(msg))
elif eventType == lldb.SBProcess.eBroadcastBitProfileData: elif eventType == lldb.SBProcess.eBroadcastBitProfileData:
pass pass
def handleInferiorOutput(self, proc, channel):
while True:
msg = proc(1024)
if msg == None or len(msg) == 0:
break
self.report('output={channel="%s",data="%s"}' % (channel, self.hexencode(msg)))
def describeBreakpoint(self, bp): def describeBreakpoint(self, bp):
isWatch = isinstance(bp, lldb.SBWatchpoint) isWatch = isinstance(bp, lldb.SBWatchpoint)
if isWatch: if isWatch: