Debugger: Remove set thread name exceptions from Issue Pane.

Task-number: QTCREATORBUG-9301

Change-Id: I0fed977ab0f0d55cece1dbaf9d6dc9c0c0e870be
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
This commit is contained in:
David Schulz
2013-05-16 14:36:58 -07:00
parent 950a40e899
commit 2989a1e571
4 changed files with 8 additions and 6 deletions

View File

@@ -68,6 +68,7 @@ CPlusPlus::Symbol *AnalyzerUtils::findSymbolUnderCursor()
TextEditor::ITextEditor *textEditor = qobject_cast<TextEditor::ITextEditor *>(editor); TextEditor::ITextEditor *textEditor = qobject_cast<TextEditor::ITextEditor *>(editor);
if (!textEditor) if (!textEditor)
return 0; return 0;
TextEditor::BaseTextEditorWidget *editorWidget = qobject_cast<TextEditor::BaseTextEditorWidget *>(editor->widget()); TextEditor::BaseTextEditorWidget *editorWidget = qobject_cast<TextEditor::BaseTextEditorWidget *>(editor->widget());
if (!editorWidget) if (!editorWidget)
return 0; return 0;

View File

@@ -2086,9 +2086,9 @@ unsigned CdbEngine::examineStopReason(const GdbMi &stopReason,
WinException exception; WinException exception;
exception.fromGdbMI(stopReason); exception.fromGdbMI(stopReason);
QString description = exception.toString(); 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. // pulls DLLs. Avoid showing a 'stopped' Message box.
if (exception.exceptionCode == winExceptionStartupCompleteTrap if (exception.exceptionCode == winExceptionSetThreadName
|| exception.exceptionCode == winExceptionWX86Breakpoint) || exception.exceptionCode == winExceptionWX86Breakpoint)
return StopNotifyStop; return StopNotifyStop;
if (exception.exceptionCode == winExceptionCtrlPressed) { 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. // Report C++ exception in application output as well.
if (exception.exceptionCode == winExceptionCppException) if (exception.exceptionCode == winExceptionCppException)
showMessage(message + QLatin1Char('\n'), AppOutput); showMessage(message + QLatin1Char('\n'), AppOutput);
if (!isDebuggerWinException(exception.exceptionCode)) { if (!isDebuggerWinException(exception.exceptionCode)
&& exception.exceptionCode != winExceptionSetThreadName) {
const Task::TaskType type = const Task::TaskType type =
isFatalWinException(exception.exceptionCode) ? Task::Error : Task::Warning; isFatalWinException(exception.exceptionCode) ? Task::Error : Task::Warning;
const Utils::FileName fileName = exception.file.isEmpty() ? const Utils::FileName fileName = exception.file.isEmpty() ?

View File

@@ -98,7 +98,7 @@ void formatWindowsException(unsigned long code, quint64 address,
case winExceptionCppException: case winExceptionCppException:
str << "C++ exception"; str << "C++ exception";
break; break;
case winExceptionStartupCompleteTrap: case winExceptionSetThreadName:
str << "Startup complete"; str << "Startup complete";
break; break;
case winExceptionDllNotFound: case winExceptionDllNotFound:
@@ -202,7 +202,7 @@ bool isFatalWinException(long code)
switch (code) { switch (code) {
case EXCEPTION_BREAKPOINT: case EXCEPTION_BREAKPOINT:
case EXCEPTION_SINGLE_STEP: case EXCEPTION_SINGLE_STEP:
case winExceptionStartupCompleteTrap: // Mysterious exception at start of application case winExceptionSetThreadName:
case winExceptionRpcServerUnavailable: case winExceptionRpcServerUnavailable:
case winExceptionRpcServerInvalid: case winExceptionRpcServerInvalid:
case winExceptionDllNotFound: case winExceptionDllNotFound:

View File

@@ -48,7 +48,7 @@ bool isWinProcessBeingDebugged(unsigned long pid);
enum enum
{ {
winExceptionCppException = 0xe06d7363, winExceptionCppException = 0xe06d7363,
winExceptionStartupCompleteTrap = 0x406d1388, winExceptionSetThreadName = 0x406d1388,
winExceptionRpcServerUnavailable = 0x6ba, winExceptionRpcServerUnavailable = 0x6ba,
winExceptionRpcServerInvalid = 0x6a6, winExceptionRpcServerInvalid = 0x6a6,
winExceptionDllNotFound = 0xc0000135, winExceptionDllNotFound = 0xc0000135,