diff --git a/src/plugins/debugger/cdb/cdbstacktracecontext.cpp b/src/plugins/debugger/cdb/cdbstacktracecontext.cpp index bb130141cbfd25019337c098fb39d4644746fb09..abf35ddf28be4a2464181d166b2ac8b933c1b78a 100644 --- a/src/plugins/debugger/cdb/cdbstacktracecontext.cpp +++ b/src/plugins/debugger/cdb/cdbstacktracecontext.cpp @@ -40,6 +40,7 @@ #include <utils/savedaction.h> #include <QtCore/QDebug> +#include <QtCore/QFileInfo> enum { debug = 0 }; @@ -100,14 +101,14 @@ QList<StackFrame> CdbStackTraceContext::stackFrames() const // Convert from Core data structures QList<StackFrame> rc; const int count = frameCount(); - const QString hexPrefix = QLatin1String("0x"); for(int i = 0; i < count; i++) { const CdbCore::StackFrame &coreFrame = stackFrameAt(i); StackFrame frame; frame.level = i; frame.file = coreFrame.fileName; + frame.usable = !frame.file.isEmpty() && QFileInfo(frame.file).isFile(); frame.line = coreFrame.line; - frame.function =coreFrame.function; + frame.function = coreFrame.function; frame.from = coreFrame.module; frame.address = coreFrame.address; rc.push_back(frame); diff --git a/src/plugins/debugger/cdb2/cdbengine2.cpp b/src/plugins/debugger/cdb2/cdbengine2.cpp index 3fa03310148bbececadd653fe91242c178523242..6f034a681cc90ff691d2ecdbce83cd4dda01f326 100644 --- a/src/plugins/debugger/cdb2/cdbengine2.cpp +++ b/src/plugins/debugger/cdb2/cdbengine2.cpp @@ -1801,6 +1801,7 @@ static StackFrames parseFrames(const QByteArray &data) if (fullName.isValid()) { frame.file = QFile::decodeName(fullName.data()); frame.line = frameMi.findChild("line").data().toInt(); + frame.usable = QFileInfo(frame.file).isFile(); } frame.function = QLatin1String(frameMi.findChild("func").data()); frame.from = QLatin1String(frameMi.findChild("from").data()); diff --git a/src/plugins/debugger/cdb2/cdbparsehelpers.cpp b/src/plugins/debugger/cdb2/cdbparsehelpers.cpp index d13926dcf1cdfad5b5a8cd4512000e98472b2576..82444570fddcfab5c3be7a299286d8853aee349e 100644 --- a/src/plugins/debugger/cdb2/cdbparsehelpers.cpp +++ b/src/plugins/debugger/cdb2/cdbparsehelpers.cpp @@ -29,7 +29,6 @@ #include "cdbparsehelpers.h" #include "breakpoint.h" -#include "stackframe.h" #include "threadshandler.h" #include "registerhandler.h" #include "bytearrayinputstream.h" diff --git a/src/plugins/debugger/cdb2/cdbparsehelpers.h b/src/plugins/debugger/cdb2/cdbparsehelpers.h index 4d85df14f711e76a3886dfe23129db72174f697d..87ae6491f69e80c0e22b46193bda4212c86226f4 100644 --- a/src/plugins/debugger/cdb2/cdbparsehelpers.h +++ b/src/plugins/debugger/cdb2/cdbparsehelpers.h @@ -44,7 +44,6 @@ namespace Debugger { namespace Internal { class BreakpointData; class BreakpointParameters; -class StackFrame; struct ThreadData; class Register; class GdbMi;