You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
2.3 KiB
63 lines
2.3 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
////////////////////////////////////////////////////////////////////////////////////// |
|
// |
|
// 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 |
|
// |
|
////////////////////////////////////////////////////////////////////////////////////// |
|
// |
|
// 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 |