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);
|
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;
|
||||||
|
|||||||
@@ -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() ?
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user