aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/common/extended_trace.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/extended_trace.h')
-rw-r--r--src/common/extended_trace.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/common/extended_trace.h b/src/common/extended_trace.h
new file mode 100644
index 00000000..1552e901
--- /dev/null
+++ b/src/common/extended_trace.h
@@ -0,0 +1,53 @@
+// -----------------------------------------------------------------------------------------
+//
+// Written by Zoltan Csizmadia, zoltan_csizmadia@yahoo.com
+// For companies(Austin,TX): If you would like to get my resume, send an email.
+//
+// The source is free, but if you want to use it, mention my name and e-mail address
+//
+// History:
+// 1.0 Initial version Zoltan Csizmadia
+// 1.1 WhineCube version Masken
+// 1.2 Dolphin version Masken
+//
+// ----------------------------------------------------------------------------------------
+
+#ifndef _EXTENDEDTRACE_H_INCLUDED_
+#define _EXTENDEDTRACE_H_INCLUDED_
+
+#if defined(WIN32)
+
+#include <windows.h>
+#include <tchar.h>
+
+#include <string>
+
+#pragma comment( lib, "imagehlp.lib" )
+
+#define EXTENDEDTRACEINITIALIZE( IniSymbolPath ) InitSymInfo( IniSymbolPath )
+#define EXTENDEDTRACEUNINITIALIZE() UninitSymInfo()
+#define STACKTRACE(file) StackTrace( GetCurrentThread(), "", file)
+#define STACKTRACE2(file, eip, esp, ebp) StackTrace(GetCurrentThread(), "", file, eip, esp, ebp)
+// class File;
+
+BOOL InitSymInfo( PCSTR );
+BOOL UninitSymInfo();
+void StackTrace(HANDLE, char const* msg, FILE *file);
+void StackTrace(HANDLE, char const* msg, FILE *file, DWORD eip, DWORD esp, DWORD ebp);
+
+// functions by Masken
+void etfprintf(FILE *file, const char *format, ...);
+void etfprint(FILE *file, const std::string &text);
+#define UEFBUFSIZE 2048
+extern char g_uefbuf[UEFBUFSIZE];
+
+#else // not WIN32
+
+#define EXTENDEDTRACEINITIALIZE( IniSymbolPath ) ((void)0)
+#define EXTENDEDTRACEUNINITIALIZE() ((void)0)
+#define STACKTRACE(file) ((void)0)
+#define STACKTRACE2(file, eip, esp, ebp) ((void)0)
+
+#endif // WIN32
+
+#endif // _EXTENDEDTRACE_H_INCLUDED_