forked from qt-creator/qt-creator
Debugger: Be a bit more robust with LLDB disassembler
LLDB 3.8 on Linux claims non-existent files to be the source of disassembly. Change-Id: I45a47cf5e7faad7ccd6dbb9879c8328fc2496b95 Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
This commit is contained in:
@@ -1714,9 +1714,16 @@ class Dumper(DumperBase):
|
|||||||
hunks[key] = hunk
|
hunks[key] = hunk
|
||||||
source = sources.get(fileName, None)
|
source = sources.get(fileName, None)
|
||||||
if source is None:
|
if source is None:
|
||||||
|
try:
|
||||||
with open(fileName, 'r') as f:
|
with open(fileName, 'r') as f:
|
||||||
source = f.read().splitlines()
|
source = f.read().splitlines()
|
||||||
sources[fileName] = source
|
sources[fileName] = source
|
||||||
|
except IOError as error:
|
||||||
|
# With lldb-3.8 files like /data/dev/creator-3.6/tests/
|
||||||
|
# auto/debugger/qt_tst_dumpers_StdVector_bfNWZa/main.cpp
|
||||||
|
# with non-existent directories appear.
|
||||||
|
warn("FILE: %s ERROR: %s" % (fileName, error))
|
||||||
|
source = ""
|
||||||
result += '{line="%s"' % lineNumber
|
result += '{line="%s"' % lineNumber
|
||||||
result += ',file="%s"' % fileName
|
result += ',file="%s"' % fileName
|
||||||
if 0 < lineNumber and lineNumber <= len(source):
|
if 0 < lineNumber and lineNumber <= len(source):
|
||||||
|
Reference in New Issue
Block a user