From f5ba484fbef2da53b4af3ec100454f89da7d8f21 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Tue, 21 Apr 2015 14:06:18 +0200 Subject: [PATCH] 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 --- src/plugins/debugger/cdb/cdbengine.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/plugins/debugger/cdb/cdbengine.cpp b/src/plugins/debugger/cdb/cdbengine.cpp index c9c49200846..153519b52be 100644 --- a/src/plugins/debugger/cdb/cdbengine.cpp +++ b/src/plugins/debugger/cdb/cdbengine.cpp @@ -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)