Go to the source code of this file.
Classes | |
struct | _IMAGEHLP_LINE64 |
struct | _IMAGEHLP_MODULE64 |
struct | _IMAGEHLP_SYMBOL64 |
struct | _KDHELP64 |
struct | StackWalkerInternal::_MODULEINFO |
struct | _tagADDRESS64 |
struct | _tagSTACKFRAME64 |
struct | StackWalkerInternal::IMAGEHLP_MODULE64_V2 |
class | StackWalkerInternal |
struct | StackWalkerInternal::tagMODULEENTRY32 |
Macros | |
#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 |
Typedefs | |
typedef struct _tagADDRESS64 | ADDRESS64 |
typedef struct _IMAGEHLP_LINE64 | IMAGEHLP_LINE64 |
typedef struct _IMAGEHLP_MODULE64 | IMAGEHLP_MODULE64 |
typedef struct _IMAGEHLP_SYMBOL64 | IMAGEHLP_SYMBOL64 |
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 _IMAGEHLP_LINE64 * | PIMAGEHLP_LINE64 |
typedef struct _IMAGEHLP_MODULE64 * | PIMAGEHLP_MODULE64 |
typedef struct _IMAGEHLP_SYMBOL64 * | PIMAGEHLP_SYMBOL64 |
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) |
typedef struct _tagSTACKFRAME64 | STACKFRAME64 |
Enumerations | |
enum | ADDRESS_MODE { AddrMode1616, AddrMode1632, AddrModeReal, AddrModeFlat } |
enum | SYM_TYPE { SymNone = 0, SymCoff, SymCv, SymPdb, SymExport, SymDeferred, SymSym, SymDia, SymVirtual, NumSymTypes } |
Variables | |
static StackWalker::PReadProcessMemoryRoutine | s_readMemoryFunction = NULL |
static LPVOID | s_readMemoryFunction_UserData = NULL |
#define _snprintf_s _snprintf |
Definition at line 256 of file stackwalker.cpp.
#define _tcscat_s _tcscat |
Definition at line 257 of file stackwalker.cpp.
#define INVALID_FILE_ATTRIBUTES ((DWORD)-1) |
Definition at line 249 of file stackwalker.cpp.
#define MAX_MODULE_NAME32 255 |
Definition at line 508 of file stackwalker.cpp.
#define strcat_s | ( | dst, | |
len, | |||
src | |||
) | strcat(dst, src) |
Definition at line 255 of file stackwalker.cpp.
#define strcpy_s strcpy |
Definition at line 254 of file stackwalker.cpp.
#define SYMOPT_ALLOW_ABSOLUTE_SYMBOLS 0x00000800 |
Definition at line 234 of file stackwalker.cpp.
#define SYMOPT_AUTO_PUBLICS 0x00010000 |
Definition at line 239 of file stackwalker.cpp.
#define SYMOPT_CASE_INSENSITIVE 0x00000001 |
Definition at line 223 of file stackwalker.cpp.
#define SYMOPT_DEBUG 0x80000000 |
Definition at line 242 of file stackwalker.cpp.
#define SYMOPT_DEFERRED_LOADS 0x00000004 |
Definition at line 225 of file stackwalker.cpp.
#define SYMOPT_EXACT_SYMBOLS 0x00000400 |
Definition at line 233 of file stackwalker.cpp.
#define SYMOPT_FAIL_CRITICAL_ERRORS 0x00000200 |
Definition at line 232 of file stackwalker.cpp.
#define SYMOPT_IGNORE_CVREC 0x00000080 |
Definition at line 230 of file stackwalker.cpp.
#define SYMOPT_IGNORE_NT_SYMPATH 0x00001000 |
Definition at line 235 of file stackwalker.cpp.
#define SYMOPT_INCLUDE_32BIT_MODULES 0x00002000 |
Definition at line 236 of file stackwalker.cpp.
#define SYMOPT_LOAD_ANYTHING 0x00000040 |
Definition at line 229 of file stackwalker.cpp.
#define SYMOPT_LOAD_LINES 0x00000010 |
Definition at line 227 of file stackwalker.cpp.
#define SYMOPT_NO_CPP 0x00000008 |
Definition at line 226 of file stackwalker.cpp.
#define SYMOPT_NO_IMAGE_SEARCH 0x00020000 |
Definition at line 240 of file stackwalker.cpp.
#define SYMOPT_NO_PUBLICS 0x00008000 |
Definition at line 238 of file stackwalker.cpp.
#define SYMOPT_NO_UNQUALIFIED_LOADS 0x00000100 |
Definition at line 231 of file stackwalker.cpp.
#define SYMOPT_OMAP_FIND_NEAREST 0x00000020 |
Definition at line 228 of file stackwalker.cpp.
#define SYMOPT_PUBLICS_ONLY 0x00004000 |
Definition at line 237 of file stackwalker.cpp.
#define SYMOPT_SECURE 0x00040000 |
Definition at line 241 of file stackwalker.cpp.
#define SYMOPT_UNDNAME 0x00000002 |
Definition at line 224 of file stackwalker.cpp.
#define TH32CS_SNAPMODULE 0x00000008 |
Definition at line 509 of file stackwalker.cpp.
#define UNDNAME_COMPLETE (0x0000) |
Definition at line 243 of file stackwalker.cpp.
#define UNDNAME_NAME_ONLY (0x1000) |
Definition at line 244 of file stackwalker.cpp.
#define USED_CONTEXT_FLAGS CONTEXT_FULL |
Definition at line 261 of file stackwalker.cpp.
typedef struct _tagADDRESS64 ADDRESS64 |
typedef struct _IMAGEHLP_LINE64 IMAGEHLP_LINE64 |
typedef struct _IMAGEHLP_MODULE64 IMAGEHLP_MODULE64 |
typedef struct _IMAGEHLP_SYMBOL64 IMAGEHLP_SYMBOL64 |
typedef struct _tagADDRESS64 * LPADDRESS64 |
typedef struct _tagSTACKFRAME64 * LPSTACKFRAME64 |
typedef PVOID(__stdcall* PFUNCTION_TABLE_ACCESS_ROUTINE64) (HANDLE hProcess, DWORD64 AddrBase) |
Definition at line 207 of file stackwalker.cpp.
Definition at line 212 of file stackwalker.cpp.
typedef struct _IMAGEHLP_LINE64 * PIMAGEHLP_LINE64 |
typedef struct _IMAGEHLP_MODULE64 * PIMAGEHLP_MODULE64 |
typedef struct _IMAGEHLP_SYMBOL64 * PIMAGEHLP_SYMBOL64 |
typedef BOOL(__stdcall* PREAD_PROCESS_MEMORY_ROUTINE64) (HANDLE hProcess, DWORD64 qwBaseAddress, PVOID lpBuffer, DWORD nSize, LPDWORD lpNumberOfBytesRead) |
Definition at line 199 of file stackwalker.cpp.
typedef DWORD64(__stdcall* PTRANSLATE_ADDRESS_ROUTINE64) (HANDLE hProcess, HANDLE hThread, LPADDRESS64 lpaddr) |
Definition at line 217 of file stackwalker.cpp.
typedef struct _tagSTACKFRAME64 STACKFRAME64 |
enum ADDRESS_MODE |
Enumerator | |
---|---|
AddrMode1616 | |
AddrMode1632 | |
AddrModeReal | |
AddrModeFlat |
Definition at line 156 of file stackwalker.cpp.
enum SYM_TYPE |
Enumerator | |
---|---|
SymNone | |
SymCoff | |
SymCv | |
SymPdb | |
SymExport | |
SymDeferred | |
SymSym | |
SymDia | |
SymVirtual | |
NumSymTypes |
Definition at line 109 of file stackwalker.cpp.
|
static |
Definition at line 974 of file stackwalker.cpp.
|
static |
Definition at line 975 of file stackwalker.cpp.