summaryrefslogtreecommitdiff
path: root/tier0/extendedtrace.h
diff options
context:
space:
mode:
Diffstat (limited to 'tier0/extendedtrace.h')
-rw-r--r--tier0/extendedtrace.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/tier0/extendedtrace.h b/tier0/extendedtrace.h
new file mode 100644
index 0000000..6a410b1
--- /dev/null
+++ b/tier0/extendedtrace.h
@@ -0,0 +1,63 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//////////////////////////////////////////////////////////////////////////////////////
+//
+// Written by Zoltan Csizmadia, [email protected]
+// 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
+//
+//////////////////////////////////////////////////////////////////////////////////////
+//
+// ExtendedTrace.h
+//
+
+#ifndef EXTENDEDTRACE_H_INCLUDED
+#define EXTENDEDTRACE_H_INCLUDED
+
+#if defined(_DEBUG) && defined(WIN32)
+
+
+#pragma comment( lib, "imagehlp.lib" )
+
+#if defined(_AFX) || defined(_AFXDLL)
+#define TRACEF TRACE
+#else
+#define TRACEF OutputDebugStringFormat
+void OutputDebugStringFormat( PRINTF_FORMAT_STRING LPCTSTR, ... );
+#endif
+
+#define EXTENDEDTRACEINITIALIZE( IniSymbolPath ) InitSymInfo( IniSymbolPath )
+#define EXTENDEDTRACEUNINITIALIZE() UninitSymInfo()
+#define SRCLINKTRACECUSTOM( Msg, File, Line) SrcLinkTrace( Msg, File, Line )
+#define SRCLINKTRACE( Msg ) SrcLinkTrace( Msg, __FILE__, __LINE__ )
+#define FNPARAMTRACE() FunctionParameterInfo()
+#define STACKTRACEMSG( Msg ) StackTrace( Msg )
+#define STACKTRACE() StackTrace( GetCurrentThread(), _T("") )
+#define THREADSTACKTRACEMSG( hThread, Msg ) StackTrace( hThread, Msg )
+#define THREADSTACKTRACE( hThread ) StackTrace( hThread, _T("") )
+
+BOOL InitSymInfo( PCSTR );
+BOOL UninitSymInfo();
+void SrcLinkTrace( LPCTSTR, LPCTSTR, ULONG );
+void StackTrace( HANDLE, LPCTSTR );
+void FunctionParameterInfo();
+
+#else
+
+#define EXTENDEDTRACEINITIALIZE( IniSymbolPath ) ((void)0)
+#define EXTENDEDTRACEUNINITIALIZE() ((void)0)
+#define TRACEF ((void)0)
+#define SRCLINKTRACECUSTOM( Msg, File, Line) ((void)0)
+#define SRCLINKTRACE( Msg ) ((void)0)
+#define FNPARAMTRACE() ((void)0)
+#define STACKTRACEMSG( Msg ) ((void)0)
+#define STACKTRACE() ((void)0)
+#define THREADSTACKTRACEMSG( hThread, Msg ) ((void)0)
+#define THREADSTACKTRACE( hThread ) ((void)0)
+
+#endif
+
+#endif \ No newline at end of file