Debugger: Fix Step into for unreachable frame source.

Hitting a frame without source code information when stepping inside
functions results in a step out. Same is now applied to frames with
unreachable source code.

Task-number: QTCREATORBUG-9677
Change-Id: If7f7b417d98e8ab058fc98cef3041cb616579619
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
This commit is contained in:
David Schulz
2015-04-21 14:06:18 +02:00
parent eea8e932f3
commit f5ba484fbe

View File

@@ -3004,6 +3004,11 @@ unsigned CdbEngine::parseStackTrace(const GdbMi &data, bool sourceStepInto)
}
if (hasFile) {
const NormalizedSourceFileName fileName = sourceMapNormalizeFileNameFromDebugger(frames.at(i).file);
if (!fileName.exists && i == 0 && sourceStepInto) {
showMessage(QString::fromLatin1("Step into: Hit frame with no source, "
"step out..."), LogMisc);
return ParseStackStepOut;
}
frames[i].file = fileName.fileName;
frames[i].usable = fileName.exists;
if (current == -1 && frames[i].usable)