diff --git a/src/plugins/analyzerbase/analyzerutils.cpp b/src/plugins/analyzerbase/analyzerutils.cpp index 65e67457998..05d71b6d909 100644 --- a/src/plugins/analyzerbase/analyzerutils.cpp +++ b/src/plugins/analyzerbase/analyzerutils.cpp @@ -68,6 +68,7 @@ CPlusPlus::Symbol *AnalyzerUtils::findSymbolUnderCursor() TextEditor::ITextEditor *textEditor = qobject_cast(editor); if (!textEditor) return 0; + TextEditor::BaseTextEditorWidget *editorWidget = qobject_cast(editor->widget()); if (!editorWidget) return 0; diff --git a/src/plugins/debugger/cdb/cdbengine.cpp b/src/plugins/debugger/cdb/cdbengine.cpp index 60d11073590..bc2e9c0ba57 100644 --- a/src/plugins/debugger/cdb/cdbengine.cpp +++ b/src/plugins/debugger/cdb/cdbengine.cpp @@ -2086,9 +2086,9 @@ unsigned CdbEngine::examineStopReason(const GdbMi &stopReason, WinException exception; exception.fromGdbMI(stopReason); QString description = exception.toString(); - // It is possible to hit on a startup trap or WOW86 exception while stepping (if something + // It is possible to hit on a set thread name or WOW86 exception while stepping (if something // pulls DLLs. Avoid showing a 'stopped' Message box. - if (exception.exceptionCode == winExceptionStartupCompleteTrap + if (exception.exceptionCode == winExceptionSetThreadName || exception.exceptionCode == winExceptionWX86Breakpoint) return StopNotifyStop; if (exception.exceptionCode == winExceptionCtrlPressed) { @@ -2448,7 +2448,8 @@ void CdbEngine::handleExtensionMessage(char t, int token, const QByteArray &what // Report C++ exception in application output as well. if (exception.exceptionCode == winExceptionCppException) showMessage(message + QLatin1Char('\n'), AppOutput); - if (!isDebuggerWinException(exception.exceptionCode)) { + if (!isDebuggerWinException(exception.exceptionCode) + && exception.exceptionCode != winExceptionSetThreadName) { const Task::TaskType type = isFatalWinException(exception.exceptionCode) ? Task::Error : Task::Warning; const Utils::FileName fileName = exception.file.isEmpty() ? diff --git a/src/plugins/debugger/shared/hostutils.cpp b/src/plugins/debugger/shared/hostutils.cpp index bd28580f995..800f4b029bd 100644 --- a/src/plugins/debugger/shared/hostutils.cpp +++ b/src/plugins/debugger/shared/hostutils.cpp @@ -98,7 +98,7 @@ void formatWindowsException(unsigned long code, quint64 address, case winExceptionCppException: str << "C++ exception"; break; - case winExceptionStartupCompleteTrap: + case winExceptionSetThreadName: str << "Startup complete"; break; case winExceptionDllNotFound: @@ -202,7 +202,7 @@ bool isFatalWinException(long code) switch (code) { case EXCEPTION_BREAKPOINT: case EXCEPTION_SINGLE_STEP: - case winExceptionStartupCompleteTrap: // Mysterious exception at start of application + case winExceptionSetThreadName: case winExceptionRpcServerUnavailable: case winExceptionRpcServerInvalid: case winExceptionDllNotFound: diff --git a/src/plugins/debugger/shared/hostutils.h b/src/plugins/debugger/shared/hostutils.h index 23a998dce0d..17f1204e6f1 100644 --- a/src/plugins/debugger/shared/hostutils.h +++ b/src/plugins/debugger/shared/hostutils.h @@ -48,7 +48,7 @@ bool isWinProcessBeingDebugged(unsigned long pid); enum { winExceptionCppException = 0xe06d7363, - winExceptionStartupCompleteTrap = 0x406d1388, + winExceptionSetThreadName = 0x406d1388, winExceptionRpcServerUnavailable = 0x6ba, winExceptionRpcServerInvalid = 0x6a6, winExceptionDllNotFound = 0xc0000135,