forked from qt-creator/qt-creator
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:
@@ -68,6 +68,7 @@ CPlusPlus::Symbol *AnalyzerUtils::findSymbolUnderCursor()
|
||||
TextEditor::ITextEditor *textEditor = qobject_cast<TextEditor::ITextEditor *>(editor);
|
||||
if (!textEditor)
|
||||
return 0;
|
||||
|
||||
TextEditor::BaseTextEditorWidget *editorWidget = qobject_cast<TextEditor::BaseTextEditorWidget *>(editor->widget());
|
||||
if (!editorWidget)
|
||||
return 0;
|
||||
|
||||
@@ -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() ?
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -48,7 +48,7 @@ bool isWinProcessBeingDebugged(unsigned long pid);
|
||||
enum
|
||||
{
|
||||
winExceptionCppException = 0xe06d7363,
|
||||
winExceptionStartupCompleteTrap = 0x406d1388,
|
||||
winExceptionSetThreadName = 0x406d1388,
|
||||
winExceptionRpcServerUnavailable = 0x6ba,
|
||||
winExceptionRpcServerInvalid = 0x6a6,
|
||||
winExceptionDllNotFound = 0xc0000135,
|
||||
|
||||
Reference in New Issue
Block a user