-
Notifications
You must be signed in to change notification settings - Fork 19
/
ExtendedTrace.h
49 lines (37 loc) · 1.33 KB
/
ExtendedTrace.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//////////////////////////////////////////////////////////////////////////////////////
//
// 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(_WIN32)
#include <windows.h>
#include <tchar.h>
#include <airdcpp/File.h>
#pragma comment( lib, "dbghelp.lib" )
#define EXTENDEDTRACEINITIALIZE( IniSymbolPath ) InitSymInfo( IniSymbolPath )
#define EXTENDEDTRACEUNINITIALIZE() UninitSymInfo()
#define STACKTRACE(file, ctx) StackTrace(GetCurrentThread(), file, ctx)
BOOL InitSymInfo( PCSTR );
BOOL UninitSymInfo();
#ifndef _WIN64
void StackTrace( HANDLE hThread, dcpp::File& f, const PCONTEXT pCtx);
#else
void StackTrace( HANDLE hThread, dcpp::File& f, const PCONTEXT pCtx);
#endif
#else
#define EXTENDEDTRACEINITIALIZE( IniSymbolPath ) ((void)0)
#define EXTENDEDTRACEUNINITIALIZE() ((void)0)
#define STACKTRACE(file, ctx) ((void)0)
#endif
#endif