My Project
D:/source/c++/Programme/sally/sally/sallyAPI/StackWalker.cpp File Reference
#include "Define.h"
#include <tchar.h>
#include <stdio.h>
#include "StackWalker.h"

Classes

struct  _IMAGEHLP_LINE64
struct  _IMAGEHLP_MODULE64
struct  _IMAGEHLP_SYMBOL64
struct  _tagADDRESS64
struct  _KDHELP64
struct  _tagSTACKFRAME64
class  StackWalkerInternal
struct  StackWalkerInternal::IMAGEHLP_MODULE64_V2
struct  StackWalkerInternal::tagMODULEENTRY32
struct  StackWalkerInternal::_MODULEINFO

Defines

#define SYMOPT_CASE_INSENSITIVE   0x00000001
#define SYMOPT_UNDNAME   0x00000002
#define SYMOPT_DEFERRED_LOADS   0x00000004
#define SYMOPT_NO_CPP   0x00000008
#define SYMOPT_LOAD_LINES   0x00000010
#define SYMOPT_OMAP_FIND_NEAREST   0x00000020
#define SYMOPT_LOAD_ANYTHING   0x00000040
#define SYMOPT_IGNORE_CVREC   0x00000080
#define SYMOPT_NO_UNQUALIFIED_LOADS   0x00000100
#define SYMOPT_FAIL_CRITICAL_ERRORS   0x00000200
#define SYMOPT_EXACT_SYMBOLS   0x00000400
#define SYMOPT_ALLOW_ABSOLUTE_SYMBOLS   0x00000800
#define SYMOPT_IGNORE_NT_SYMPATH   0x00001000
#define SYMOPT_INCLUDE_32BIT_MODULES   0x00002000
#define SYMOPT_PUBLICS_ONLY   0x00004000
#define SYMOPT_NO_PUBLICS   0x00008000
#define SYMOPT_AUTO_PUBLICS   0x00010000
#define SYMOPT_NO_IMAGE_SEARCH   0x00020000
#define SYMOPT_SECURE   0x00040000
#define SYMOPT_DEBUG   0x80000000
#define UNDNAME_COMPLETE   (0x0000)
#define UNDNAME_NAME_ONLY   (0x1000)
#define INVALID_FILE_ATTRIBUTES   ((DWORD)-1)
#define strcpy_s   strcpy
#define strcat_s(dst, len, src)   strcat(dst, src)
#define _snprintf_s   _snprintf
#define _tcscat_s   _tcscat
#define USED_CONTEXT_FLAGS   CONTEXT_FULL
#define MAX_MODULE_NAME32   255
#define TH32CS_SNAPMODULE   0x00000008

Typedefs

typedef struct _IMAGEHLP_LINE64 IMAGEHLP_LINE64
typedef struct _IMAGEHLP_LINE64PIMAGEHLP_LINE64
typedef struct _IMAGEHLP_MODULE64 IMAGEHLP_MODULE64
typedef struct _IMAGEHLP_MODULE64PIMAGEHLP_MODULE64
typedef struct _IMAGEHLP_SYMBOL64 IMAGEHLP_SYMBOL64
typedef struct _IMAGEHLP_SYMBOL64PIMAGEHLP_SYMBOL64
typedef struct _tagADDRESS64 ADDRESS64
typedef struct _tagADDRESS64LPADDRESS64
typedef struct _KDHELP64 KDHELP64
typedef struct _KDHELP64PKDHELP64
typedef struct _tagSTACKFRAME64 STACKFRAME64
typedef struct _tagSTACKFRAME64LPSTACKFRAME64
typedef BOOL(__stdcall * PREAD_PROCESS_MEMORY_ROUTINE64 )(HANDLE hProcess, DWORD64 qwBaseAddress, PVOID lpBuffer, DWORD nSize, LPDWORD lpNumberOfBytesRead)
typedef PVOID(__stdcall * PFUNCTION_TABLE_ACCESS_ROUTINE64 )(HANDLE hProcess, DWORD64 AddrBase)
typedef DWORD64(__stdcall * PGET_MODULE_BASE_ROUTINE64 )(HANDLE hProcess, DWORD64 Address)
typedef DWORD64(__stdcall * PTRANSLATE_ADDRESS_ROUTINE64 )(HANDLE hProcess, HANDLE hThread, LPADDRESS64 lpaddr)

Enumerations

enum  SYM_TYPE {
  SymNone = 0, SymCoff, SymCv, SymPdb,
  SymExport, SymDeferred, SymSym, SymDia,
  SymVirtual, NumSymTypes
}
enum  ADDRESS_MODE { AddrMode1616, AddrMode1632, AddrModeReal, AddrModeFlat }

Define Documentation

#define _snprintf_s   _snprintf
#define _tcscat_s   _tcscat
#define INVALID_FILE_ATTRIBUTES   ((DWORD)-1)
#define MAX_MODULE_NAME32   255
#define strcat_s (   dst,
  len,
  src 
)    strcat(dst, src)
#define strcpy_s   strcpy
#define SYMOPT_ALLOW_ABSOLUTE_SYMBOLS   0x00000800
#define SYMOPT_AUTO_PUBLICS   0x00010000
#define SYMOPT_CASE_INSENSITIVE   0x00000001
#define SYMOPT_DEBUG   0x80000000
#define SYMOPT_DEFERRED_LOADS   0x00000004
#define SYMOPT_EXACT_SYMBOLS   0x00000400
#define SYMOPT_FAIL_CRITICAL_ERRORS   0x00000200
#define SYMOPT_IGNORE_CVREC   0x00000080
#define SYMOPT_IGNORE_NT_SYMPATH   0x00001000
#define SYMOPT_INCLUDE_32BIT_MODULES   0x00002000
#define SYMOPT_LOAD_ANYTHING   0x00000040
#define SYMOPT_LOAD_LINES   0x00000010
#define SYMOPT_NO_CPP   0x00000008
#define SYMOPT_NO_IMAGE_SEARCH   0x00020000
#define SYMOPT_NO_PUBLICS   0x00008000
#define SYMOPT_NO_UNQUALIFIED_LOADS   0x00000100
#define SYMOPT_OMAP_FIND_NEAREST   0x00000020
#define SYMOPT_PUBLICS_ONLY   0x00004000
#define SYMOPT_SECURE   0x00040000
#define SYMOPT_UNDNAME   0x00000002
#define TH32CS_SNAPMODULE   0x00000008
#define UNDNAME_COMPLETE   (0x0000)
#define UNDNAME_NAME_ONLY   (0x1000)
#define USED_CONTEXT_FLAGS   CONTEXT_FULL

Typedef Documentation

typedef struct _tagADDRESS64 ADDRESS64
typedef struct _KDHELP64 KDHELP64
typedef struct _tagADDRESS64 * LPADDRESS64
typedef struct _tagSTACKFRAME64 * LPSTACKFRAME64
typedef PVOID(__stdcall * PFUNCTION_TABLE_ACCESS_ROUTINE64)(HANDLE hProcess, DWORD64 AddrBase)
typedef DWORD64(__stdcall * PGET_MODULE_BASE_ROUTINE64)(HANDLE hProcess, DWORD64 Address)
typedef struct _KDHELP64 * PKDHELP64
typedef BOOL(__stdcall * PREAD_PROCESS_MEMORY_ROUTINE64)(HANDLE hProcess, DWORD64 qwBaseAddress, PVOID lpBuffer, DWORD nSize, LPDWORD lpNumberOfBytesRead)
typedef DWORD64(__stdcall * PTRANSLATE_ADDRESS_ROUTINE64)(HANDLE hProcess, HANDLE hThread, LPADDRESS64 lpaddr)

Enumeration Type Documentation

Enumerator:
AddrMode1616 
AddrMode1632 
AddrModeReal 
AddrModeFlat 
enum SYM_TYPE
Enumerator:
SymNone 
SymCoff 
SymCv 
SymPdb 
SymExport 
SymDeferred 
SymSym 
SymDia 
SymVirtual 
NumSymTypes 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines