Debugger: Do not omit original stack

..if loading the qml stack failed, e.g. when using a Qt
without debug information.

Task-number: QTCREATORBUG-25554
Change-Id: Ibe2a051f4dc0a9d3c15a63f663f5934a476d6fc4
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Christian Stenger
2021-05-06 16:11:24 +02:00
parent f0a86d4510
commit 03624f9a68

View File

@@ -1128,6 +1128,8 @@ class Dumper(DumperBase):
while ii < n and not done: while ii < n and not done:
res = None res = None
frame = thread.GetFrameAtIndex(ii) frame = thread.GetFrameAtIndex(ii)
if not frame.IsValid():
break
for variable in frame.GetVariables(True, True, False, True): for variable in frame.GetVariables(True, True, False, True):
if not variable.GetType().IsPointerType(): if not variable.GetType().IsPointerType():
continue continue
@@ -1152,6 +1154,10 @@ class Dumper(DumperBase):
done = True done = True
break break
ii += 1 ii += 1
# if we have not found a qml stack do not omit original stack
if not done:
DumperBase.warn("Failed to fetch qml stack - you need Qt debug information")
ii = 0
for i in range(n - ii): for i in range(n - ii):
frame = thread.GetFrameAtIndex(i) frame = thread.GetFrameAtIndex(i)