diff options
Diffstat (limited to '')
-rw-r--r-- | linden/indra/newview/llwindebug.h | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/linden/indra/newview/llwindebug.h b/linden/indra/newview/llwindebug.h index b11cdf6..cf15fae 100644 --- a/linden/indra/newview/llwindebug.h +++ b/linden/indra/newview/llwindebug.h | |||
@@ -38,10 +38,36 @@ | |||
38 | class LLWinDebug | 38 | class LLWinDebug |
39 | { | 39 | { |
40 | public: | 40 | public: |
41 | static BOOL setupExceptionHandler(); | ||
42 | 41 | ||
43 | static LONG WINAPI handleException(struct _EXCEPTION_POINTERS *pExceptionInfo); | 42 | |
43 | /** | ||
44 | * @brief initialize the llwindebug exception filter callback | ||
45 | * | ||
46 | * Hand a windows unhandled exception filter to LLWinDebug | ||
47 | * This method should only be called to change the | ||
48 | * exception filter used by llwindebug. | ||
49 | * | ||
50 | * Setting filter_func to NULL will clear any custom filters. | ||
51 | **/ | ||
52 | static void initExceptionHandler(LPTOP_LEVEL_EXCEPTION_FILTER filter_func); | ||
53 | |||
54 | /** | ||
55 | * @brief check the status of the exception filter. | ||
56 | * | ||
57 | * Resets unhandled exception filter to the filter specified | ||
58 | * w/ initExceptionFilter). | ||
59 | * Returns false if the exception filter was modified. | ||
60 | * | ||
61 | * *NOTE:Mani In the past mozlib has been accused of | ||
62 | * overriding the exception filter. If the mozlib filter | ||
63 | * is required, perhaps we can chain calls from our | ||
64 | * filter to mozlib's. | ||
65 | **/ | ||
66 | static bool checkExceptionHandler(); | ||
67 | |||
68 | static void generateCrashStacks(struct _EXCEPTION_POINTERS *pExceptionInfo = NULL); | ||
44 | static void writeDumpToFile(MINIDUMP_TYPE type, MINIDUMP_EXCEPTION_INFORMATION *ExInfop, const char *filename); | 69 | static void writeDumpToFile(MINIDUMP_TYPE type, MINIDUMP_EXCEPTION_INFORMATION *ExInfop, const char *filename); |
70 | private: | ||
45 | }; | 71 | }; |
46 | 72 | ||
47 | #endif // LL_LLWINDEBUG_H | 73 | #endif // LL_LLWINDEBUG_H |