- Here's something MinGW users will probably like: i_crash.cpp no longer needs

dbghelp.h if you compile with GCC.


SVN r269 (trunk)
This commit is contained in:
Randy Heit 2006-07-21 22:28:54 +00:00
parent 361f855de0
commit f7a8653196
2 changed files with 51 additions and 8 deletions

View file

@ -1,3 +1,7 @@
July 21, 2006
- Here's something MinGW users will probably like: i_crash.cpp no longer needs
dbghelp.h if you compile with GCC.
July 19, 2006 July 19, 2006
- Added some simple translucency map analysis for BOOM maps to more - Added some simple translucency map analysis for BOOM maps to more
intelligently pick the value to use for TranslucentLine's second argument. intelligently pick the value to use for TranslucentLine's second argument.

View file

@ -41,7 +41,9 @@
#include <richedit.h> #include <richedit.h>
#include <winuser.h> #include <winuser.h>
#include <tlhelp32.h> #include <tlhelp32.h>
#ifndef __GNUC__
#include <dbghelp.h> #include <dbghelp.h>
#endif
#include <commctrl.h> #include <commctrl.h>
#include <commdlg.h> #include <commdlg.h>
#include <winsock2.h> #include <winsock2.h>
@ -61,6 +63,51 @@
#include <time.h> #include <time.h>
#include <zlib.h> #include <zlib.h>
// DBGHELP.H ---------------------------------------------------------------
// w32api does not include dbghelp.h, so if I don't include these here,
// a person using GCC will need to download the Platform SDK, grab dbghelp.h
// from it, and edit it so it works with GCC.
#ifdef __GNUC__
typedef enum _MINIDUMP_TYPE
{
MiniDumpNormal
// Other types omitted.
} MINIDUMP_TYPE;
typedef struct _MINIDUMP_EXCEPTION_INFORMATION {
DWORD ThreadId;
PEXCEPTION_POINTERS ExceptionPointers;
BOOL ClientPointers;
} MINIDUMP_EXCEPTION_INFORMATION, *PMINIDUMP_EXCEPTION_INFORMATION;
typedef struct _MINIDUMP_USER_STREAM_INFORMATION {
ULONG UserStreamCount;
void *UserStreamArray; // Not really void *
} MINIDUMP_USER_STREAM_INFORMATION, *PMINIDUMP_USER_STREAM_INFORMATION;
typedef BOOL (WINAPI * MINIDUMP_CALLBACK_ROUTINE) (
IN PVOID CallbackParam,
IN CONST void *CallbackInput, // Not really void *
IN OUT void *CallbackOutput // Not really void *
);
typedef struct _MINIDUMP_CALLBACK_INFORMATION {
MINIDUMP_CALLBACK_ROUTINE CallbackRoutine;
PVOID CallbackParam;
} MINIDUMP_CALLBACK_INFORMATION, *PMINIDUMP_CALLBACK_INFORMATION;
#endif
// Dbghelp.dll is loaded at runtime so we don't create any needless
// dependencies on it.
typedef BOOL (WINAPI *THREADWALK) (HANDLE, LPTHREADENTRY32);
typedef BOOL (WINAPI *MODULEWALK) (HANDLE, LPMODULEENTRY32);
typedef HANDLE (WINAPI *CREATESNAPSHOT) (DWORD, DWORD);
typedef BOOL (WINAPI *WRITEDUMP) (HANDLE, DWORD, HANDLE, MINIDUMP_TYPE,
PMINIDUMP_EXCEPTION_INFORMATION,
PMINIDUMP_USER_STREAM_INFORMATION,
PMINIDUMP_CALLBACK_INFORMATION);
// MACROS ------------------------------------------------------------------ // MACROS ------------------------------------------------------------------
#define BUGS_FORUM_URL "http://forum.zdoom.org/index.php?c=3" #define BUGS_FORUM_URL "http://forum.zdoom.org/index.php?c=3"
@ -167,14 +214,6 @@ struct TarFile
bool Deflated; bool Deflated;
}; };
typedef BOOL (WINAPI *THREADWALK) (HANDLE, LPTHREADENTRY32);
typedef BOOL (WINAPI *MODULEWALK) (HANDLE, LPMODULEENTRY32);
typedef HANDLE (WINAPI *CREATESNAPSHOT) (DWORD, DWORD);
typedef BOOL (WINAPI *WRITEDUMP) (HANDLE, DWORD, HANDLE, MINIDUMP_TYPE,
PMINIDUMP_EXCEPTION_INFORMATION,
PMINIDUMP_USER_STREAM_INFORMATION,
PMINIDUMP_CALLBACK_INFORMATION);
struct MiniDumpThreadData struct MiniDumpThreadData
{ {
HANDLE File; HANDLE File;