From d1c08e68ccf48c99606da64bfead422278c39e49 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 17 Nov 2010 17:01:51 +0100 Subject: Debugger: Move some Windows functionality around. Preparing the introduction of the new CDB engine. --- src/plugins/debugger/shared/dbgwinutils.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/plugins/debugger/shared/dbgwinutils.h') diff --git a/src/plugins/debugger/shared/dbgwinutils.h b/src/plugins/debugger/shared/dbgwinutils.h index 8f841acd5c..5849ba7717 100644 --- a/src/plugins/debugger/shared/dbgwinutils.h +++ b/src/plugins/debugger/shared/dbgwinutils.h @@ -33,6 +33,7 @@ #include QT_FORWARD_DECLARE_CLASS(QString) +QT_FORWARD_DECLARE_CLASS(QTextStream) namespace Debugger { namespace Internal { @@ -59,6 +60,29 @@ QString winNormalizeFileName(const QString &f); bool isWinProcessBeingDebugged(unsigned long pid); +// Special exception codes. +enum { winExceptionCppException = 0xe06d7363, + winExceptionStartupCompleteTrap = 0x406d1388, + winExceptionRpcServerUnavailable = 0x6ba, + winExceptionRpcServerInvalid = 0x6a6, + winExceptionDllNotFound = 0xc0000135, + winExceptionDllEntryPointNoFound = 0xc0000139, + winExceptionDllInitFailed = 0xc0000142, + winExceptionMissingSystemFile = 0xc0000143, + winExceptionAppInitFailed = 0xc0000143 +}; + +// Format windows Exception +void formatWindowsException(unsigned long code, quint64 address, + unsigned long flags, quint64 info1, quint64 info2, + QTextStream &str); +// Check for access violation, etc. +bool isFatalWinException(long code); + +// Check for EXCEPTION_BREAKPOINT, EXCEPTION_SINGLE_STEP +bool isDebuggerWinException(long code); + + } // namespace Internal } // namespace Debugger -- cgit v1.2.1