Classes | Macros | Typedefs | Enumerations | Variables
stackwalker.cpp File Reference
#include <windows.h>
#include <tchar.h>
#include <stdio.h>
#include "stackwalker.h"
Include dependency graph for stackwalker.cpp:

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 _tagADDRESS64LPADDRESS64
 
typedef struct _tagSTACKFRAME64LPSTACKFRAME64
 
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_LINE64PIMAGEHLP_LINE64
 
typedef struct _IMAGEHLP_MODULE64PIMAGEHLP_MODULE64
 
typedef struct _IMAGEHLP_SYMBOL64PIMAGEHLP_SYMBOL64
 
typedef struct _KDHELP64PKDHELP64
 
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
 

Macro Definition Documentation

◆ _snprintf_s

#define _snprintf_s   _snprintf

Definition at line 256 of file stackwalker.cpp.

◆ _tcscat_s

#define _tcscat_s   _tcscat

Definition at line 257 of file stackwalker.cpp.

◆ INVALID_FILE_ATTRIBUTES

#define INVALID_FILE_ATTRIBUTES   ((DWORD)-1)

Definition at line 249 of file stackwalker.cpp.

◆ MAX_MODULE_NAME32

#define MAX_MODULE_NAME32   255

Definition at line 508 of file stackwalker.cpp.

◆ strcat_s

#define strcat_s (   dst,
  len,
  src 
)    strcat(dst, src)

Definition at line 255 of file stackwalker.cpp.

◆ strcpy_s

#define strcpy_s   strcpy

Definition at line 254 of file stackwalker.cpp.

◆ SYMOPT_ALLOW_ABSOLUTE_SYMBOLS

#define SYMOPT_ALLOW_ABSOLUTE_SYMBOLS   0x00000800

Definition at line 234 of file stackwalker.cpp.

◆ SYMOPT_AUTO_PUBLICS

#define SYMOPT_AUTO_PUBLICS   0x00010000

Definition at line 239 of file stackwalker.cpp.

◆ SYMOPT_CASE_INSENSITIVE

#define SYMOPT_CASE_INSENSITIVE   0x00000001

Definition at line 223 of file stackwalker.cpp.

◆ SYMOPT_DEBUG

#define SYMOPT_DEBUG   0x80000000

Definition at line 242 of file stackwalker.cpp.

◆ SYMOPT_DEFERRED_LOADS

#define SYMOPT_DEFERRED_LOADS   0x00000004

Definition at line 225 of file stackwalker.cpp.

◆ SYMOPT_EXACT_SYMBOLS

#define SYMOPT_EXACT_SYMBOLS   0x00000400

Definition at line 233 of file stackwalker.cpp.

◆ SYMOPT_FAIL_CRITICAL_ERRORS

#define SYMOPT_FAIL_CRITICAL_ERRORS   0x00000200

Definition at line 232 of file stackwalker.cpp.

◆ SYMOPT_IGNORE_CVREC

#define SYMOPT_IGNORE_CVREC   0x00000080

Definition at line 230 of file stackwalker.cpp.

◆ SYMOPT_IGNORE_NT_SYMPATH

#define SYMOPT_IGNORE_NT_SYMPATH   0x00001000

Definition at line 235 of file stackwalker.cpp.

◆ SYMOPT_INCLUDE_32BIT_MODULES

#define SYMOPT_INCLUDE_32BIT_MODULES   0x00002000

Definition at line 236 of file stackwalker.cpp.

◆ SYMOPT_LOAD_ANYTHING

#define SYMOPT_LOAD_ANYTHING   0x00000040

Definition at line 229 of file stackwalker.cpp.

◆ SYMOPT_LOAD_LINES

#define SYMOPT_LOAD_LINES   0x00000010

Definition at line 227 of file stackwalker.cpp.

◆ SYMOPT_NO_CPP

#define SYMOPT_NO_CPP   0x00000008

Definition at line 226 of file stackwalker.cpp.

◆ SYMOPT_NO_IMAGE_SEARCH

#define SYMOPT_NO_IMAGE_SEARCH   0x00020000

Definition at line 240 of file stackwalker.cpp.

◆ SYMOPT_NO_PUBLICS

#define SYMOPT_NO_PUBLICS   0x00008000

Definition at line 238 of file stackwalker.cpp.

◆ SYMOPT_NO_UNQUALIFIED_LOADS

#define SYMOPT_NO_UNQUALIFIED_LOADS   0x00000100

Definition at line 231 of file stackwalker.cpp.

◆ SYMOPT_OMAP_FIND_NEAREST

#define SYMOPT_OMAP_FIND_NEAREST   0x00000020

Definition at line 228 of file stackwalker.cpp.

◆ SYMOPT_PUBLICS_ONLY

#define SYMOPT_PUBLICS_ONLY   0x00004000

Definition at line 237 of file stackwalker.cpp.

◆ SYMOPT_SECURE

#define SYMOPT_SECURE   0x00040000

Definition at line 241 of file stackwalker.cpp.

◆ SYMOPT_UNDNAME

#define SYMOPT_UNDNAME   0x00000002

Definition at line 224 of file stackwalker.cpp.

◆ TH32CS_SNAPMODULE

#define TH32CS_SNAPMODULE   0x00000008

Definition at line 509 of file stackwalker.cpp.

◆ UNDNAME_COMPLETE

#define UNDNAME_COMPLETE   (0x0000)

Definition at line 243 of file stackwalker.cpp.

◆ UNDNAME_NAME_ONLY

#define UNDNAME_NAME_ONLY   (0x1000)

Definition at line 244 of file stackwalker.cpp.

◆ USED_CONTEXT_FLAGS

#define USED_CONTEXT_FLAGS   CONTEXT_FULL

Definition at line 261 of file stackwalker.cpp.

Typedef Documentation

◆ ADDRESS64

typedef struct _tagADDRESS64 ADDRESS64

◆ IMAGEHLP_LINE64

◆ IMAGEHLP_MODULE64

◆ IMAGEHLP_SYMBOL64

◆ KDHELP64

typedef struct _KDHELP64 KDHELP64

◆ LPADDRESS64

typedef struct _tagADDRESS64 * LPADDRESS64

◆ LPSTACKFRAME64

typedef struct _tagSTACKFRAME64 * LPSTACKFRAME64

◆ PFUNCTION_TABLE_ACCESS_ROUTINE64

typedef PVOID(__stdcall* PFUNCTION_TABLE_ACCESS_ROUTINE64) (HANDLE hProcess, DWORD64 AddrBase)

Definition at line 207 of file stackwalker.cpp.

◆ PGET_MODULE_BASE_ROUTINE64

typedef DWORD64(__stdcall* PGET_MODULE_BASE_ROUTINE64) (HANDLE hProcess, DWORD64 Address)

Definition at line 212 of file stackwalker.cpp.

◆ PIMAGEHLP_LINE64

◆ PIMAGEHLP_MODULE64

◆ PIMAGEHLP_SYMBOL64

◆ PKDHELP64

typedef struct _KDHELP64 * PKDHELP64

◆ PREAD_PROCESS_MEMORY_ROUTINE64

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.

◆ PTRANSLATE_ADDRESS_ROUTINE64

typedef DWORD64(__stdcall* PTRANSLATE_ADDRESS_ROUTINE64) (HANDLE hProcess, HANDLE hThread, LPADDRESS64 lpaddr)

Definition at line 217 of file stackwalker.cpp.

◆ STACKFRAME64

Enumeration Type Documentation

◆ ADDRESS_MODE

Enumerator
AddrMode1616 
AddrMode1632 
AddrModeReal 
AddrModeFlat 

Definition at line 156 of file stackwalker.cpp.

◆ SYM_TYPE

enum SYM_TYPE
Enumerator
SymNone 
SymCoff 
SymCv 
SymPdb 
SymExport 
SymDeferred 
SymSym 
SymDia 
SymVirtual 
NumSymTypes 

Definition at line 109 of file stackwalker.cpp.

Variable Documentation

◆ s_readMemoryFunction

StackWalker::PReadProcessMemoryRoutine s_readMemoryFunction = NULL
static

Definition at line 974 of file stackwalker.cpp.

◆ s_readMemoryFunction_UserData

LPVOID s_readMemoryFunction_UserData = NULL
static

Definition at line 975 of file stackwalker.cpp.



xsens_mti_driver
Author(s):
autogenerated on Sun Sep 3 2023 02:43:21