forked from qt-creator/qt-creator
Debugger: Improve libc++ std::string dumper
Use isLldb and isGdb instead of exception. Uses name based lookup in case of gdb instead of try/except Fixes: QTCREATORBUG-29526 Change-Id: I6c3aa94503a519331395bd4249c6bf6488c8333f Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: hjk <hjk@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
@@ -283,13 +283,12 @@ def std_1_string_dumper_v1(d, value):
|
|||||||
charType = value['__l']['__data_'].dereference().type
|
charType = value['__l']['__data_'].dereference().type
|
||||||
D = None
|
D = None
|
||||||
|
|
||||||
try: # LLDB
|
if d.isLldb:
|
||||||
D = value[0][0][0][0]
|
D = value[0][0][0][0]
|
||||||
except: # GDB
|
elif d.isGdb:
|
||||||
try: # std::string
|
D = value["__r_"].members(True)[0][0][0]
|
||||||
D = value[0].members(True)[0][0][0]
|
else:
|
||||||
except: # std::u16string, std::u32string
|
raise Exception("Unknown debugger (neither gdb nor lldb)")
|
||||||
D = value[2].members(True)[0][0][0]
|
|
||||||
|
|
||||||
layoutDecider = D[0][0]
|
layoutDecider = D[0][0]
|
||||||
if not layoutDecider:
|
if not layoutDecider:
|
||||||
|
Reference in New Issue
Block a user