summaryrefslogtreecommitdiff
path: root/src/plugins/debugger/shared/dbgwinutils.h
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>2010-11-17 17:01:51 +0100
committerFriedemann Kleint <Friedemann.Kleint@nokia.com>2010-11-17 17:01:51 +0100
commitd1c08e68ccf48c99606da64bfead422278c39e49 (patch)
treee72fec5a112e9ca4c55ebf8e770da4525d7b4b1c /src/plugins/debugger/shared/dbgwinutils.h
parent740eb6a98718019146e05e962fa55fc13c385e63 (diff)
downloadqt-creator-d1c08e68ccf48c99606da64bfead422278c39e49.tar.gz
Debugger: Move some Windows functionality around.
Preparing the introduction of the new CDB engine.
Diffstat (limited to 'src/plugins/debugger/shared/dbgwinutils.h')
-rw-r--r--src/plugins/debugger/shared/dbgwinutils.h24
1 files changed, 24 insertions, 0 deletions
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 <QtCore/QList>
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