Developer Documentation
StackWalkerInternal Class Reference

Classes

struct  _MODULEINFO
 
struct  IMAGEHLP_MODULE64_V2
 
struct  IMAGEHLP_MODULE64_V3
 
struct  tagMODULEENTRY32
 

Public Types

typedef BOOL(__stdcall * tSC) (IN HANDLE hProcess)
 
typedef PVOID(__stdcall * tSFTA) (HANDLE hProcess, DWORD64 AddrBase)
 
typedef BOOL(__stdcall * tSGLFA) (IN HANDLE hProcess, IN DWORD64 dwAddr, OUT PDWORD pdwDisplacement, OUT PIMAGEHLP_LINE64 Line)
 
typedef DWORD64(__stdcall * tSGMB) (IN HANDLE hProcess, IN DWORD64 dwAddr)
 
typedef BOOL(__stdcall * tSGMI) (IN HANDLE hProcess, IN DWORD64 dwAddr, OUT IMAGEHLP_MODULE64_V3 *ModuleInfo)
 
typedef DWORD(__stdcall * tSGO) (VOID)
 
typedef BOOL(__stdcall * tSGSFA) (IN HANDLE hProcess, IN DWORD64 dwAddr, OUT PDWORD64 pdwDisplacement, OUT PIMAGEHLP_SYMBOL64 Symbol)
 
typedef BOOL(__stdcall * tSI) (IN HANDLE hProcess, IN PSTR UserSearchPath, IN BOOL fInvadeProcess)
 
typedef DWORD64(__stdcall * tSLM) (IN HANDLE hProcess, IN HANDLE hFile, IN PSTR ImageName, IN PSTR ModuleName, IN DWORD64 BaseOfDll, IN DWORD SizeOfDll)
 
typedef DWORD(__stdcall * tSSO) (IN DWORD SymOptions)
 
typedef BOOL(__stdcall * tSW) (DWORD MachineType, HANDLE hProcess, HANDLE hThread, LPSTACKFRAME64 StackFrame, PVOID ContextRecord, PREAD_PROCESS_MEMORY_ROUTINE64 ReadMemoryRoutine, PFUNCTION_TABLE_ACCESS_ROUTINE64 FunctionTableAccessRoutine, PGET_MODULE_BASE_ROUTINE64 GetModuleBaseRoutine, PTRANSLATE_ADDRESS_ROUTINE64 TranslateAddress)
 
typedef PSTR UnDecoratedName
 
typedef PSTR DWORD UndecoratedLength
 
typedef PSTR DWORD DWORD Flags
 
typedef PSTR SearchPath
 
typedef PSTR DWORD SearchPathLength
 

Public Member Functions

 StackWalkerInternal (StackWalker *parent, HANDLE hProcess)
 
BOOL Init (LPCSTR szSymPath)
 
typedef DWORD (__stdcall WINAPI *tUDSN)(PCSTR DecoratedName
 
typedef BOOL (__stdcall WINAPI *tSGSP)(HANDLE hProcess
 
BOOL LoadModules (HANDLE hProcess, DWORD dwProcessId)
 
BOOL GetModuleInfo (HANDLE hProcess, DWORD64 baseAddr, IMAGEHLP_MODULE64_V3 *pModuleInfo)
 

Public Attributes

StackWalkerm_parent
 
HMODULE m_hDbhHelp
 
HANDLE m_hProcess
 
LPSTR m_szSymPath
 
tSC pSC
 
tSFTA pSFTA
 
tSGLFA pSGLFA
 
tSGMB pSGMB
 
tSGMI pSGMI
 
tSGO pSGO
 
tSGSFA pSGSFA
 
tSI pSI
 
tSLM pSLM
 
tSSO pSSO
 
tSW pSW
 
tUDSN pUDSN
 
tSGSP pSGSP
 

Private Types

typedef struct StackWalkerInternal::tagMODULEENTRY32 MODULEENTRY32
 
typedef MODULEENTRY32PMODULEENTRY32
 
typedef MODULEENTRY32LPMODULEENTRY32
 
typedef struct StackWalkerInternal::_MODULEINFO MODULEINFO
 
typedef struct StackWalkerInternal::_MODULEINFOLPMODULEINFO
 

Private Member Functions

BOOL GetModuleListTH32 (HANDLE hProcess, DWORD pid)
 
BOOL GetModuleListPSAPI (HANDLE hProcess)
 
DWORD LoadModule (HANDLE hProcess, LPCSTR img, LPCSTR mod, DWORD64 baseAddr, DWORD size)
 

Detailed Description

Definition at line 253 of file StackWalker.cc.

Member Typedef Documentation

◆ Flags

typedef PSTR DWORD DWORD StackWalkerInternal::Flags

Definition at line 522 of file StackWalker.cc.

◆ LPMODULEENTRY32

Definition at line 548 of file StackWalker.cc.

◆ PMODULEENTRY32

Definition at line 547 of file StackWalker.cc.

◆ SearchPath

typedef PSTR StackWalkerInternal::SearchPath

Definition at line 525 of file StackWalker.cc.

◆ SearchPathLength

typedef PSTR DWORD StackWalkerInternal::SearchPathLength

Definition at line 525 of file StackWalker.cc.

◆ tSC

typedef BOOL(__stdcall * StackWalkerInternal::tSC) (IN HANDLE hProcess)

Definition at line 465 of file StackWalker.cc.

◆ tSFTA

typedef PVOID(__stdcall * StackWalkerInternal::tSFTA) (HANDLE hProcess, DWORD64 AddrBase)

Definition at line 469 of file StackWalker.cc.

◆ tSGLFA

typedef BOOL(__stdcall * StackWalkerInternal::tSGLFA) (IN HANDLE hProcess, IN DWORD64 dwAddr, OUT PDWORD pdwDisplacement, OUT PIMAGEHLP_LINE64 Line)

Definition at line 473 of file StackWalker.cc.

◆ tSGMB

typedef DWORD64(__stdcall * StackWalkerInternal::tSGMB) (IN HANDLE hProcess, IN DWORD64 dwAddr)

Definition at line 478 of file StackWalker.cc.

◆ tSGMI

typedef BOOL(__stdcall * StackWalkerInternal::tSGMI) (IN HANDLE hProcess, IN DWORD64 dwAddr, OUT IMAGEHLP_MODULE64_V3 *ModuleInfo)

Definition at line 482 of file StackWalker.cc.

◆ tSGO

typedef DWORD(__stdcall * StackWalkerInternal::tSGO) (VOID)

Definition at line 486 of file StackWalker.cc.

◆ tSGSFA

typedef BOOL(__stdcall * StackWalkerInternal::tSGSFA) (IN HANDLE hProcess, IN DWORD64 dwAddr, OUT PDWORD64 pdwDisplacement, OUT PIMAGEHLP_SYMBOL64 Symbol)

Definition at line 490 of file StackWalker.cc.

◆ tSI

typedef BOOL(__stdcall * StackWalkerInternal::tSI) (IN HANDLE hProcess, IN PSTR UserSearchPath, IN BOOL fInvadeProcess)

Definition at line 495 of file StackWalker.cc.

◆ tSLM

typedef DWORD64(__stdcall * StackWalkerInternal::tSLM) (IN HANDLE hProcess, IN HANDLE hFile, IN PSTR ImageName, IN PSTR ModuleName, IN DWORD64 BaseOfDll, IN DWORD SizeOfDll)

Definition at line 499 of file StackWalker.cc.

◆ tSSO

typedef DWORD(__stdcall * StackWalkerInternal::tSSO) (IN DWORD SymOptions)

Definition at line 504 of file StackWalker.cc.

◆ tSW

typedef BOOL(__stdcall * StackWalkerInternal::tSW) (DWORD MachineType, HANDLE hProcess, HANDLE hThread, LPSTACKFRAME64 StackFrame, PVOID ContextRecord, PREAD_PROCESS_MEMORY_ROUTINE64 ReadMemoryRoutine, PFUNCTION_TABLE_ACCESS_ROUTINE64 FunctionTableAccessRoutine, PGET_MODULE_BASE_ROUTINE64 GetModuleBaseRoutine, PTRANSLATE_ADDRESS_ROUTINE64 TranslateAddress)

Definition at line 508 of file StackWalker.cc.

◆ UndecoratedLength

typedef PSTR DWORD StackWalkerInternal::UndecoratedLength

Definition at line 522 of file StackWalker.cc.

◆ UnDecoratedName

typedef PSTR StackWalkerInternal::UnDecoratedName

Definition at line 521 of file StackWalker.cc.

Constructor & Destructor Documentation

◆ StackWalkerInternal()

StackWalkerInternal::StackWalkerInternal ( StackWalker parent,
HANDLE  hProcess 
)
inline

Definition at line 256 of file StackWalker.cc.

◆ ~StackWalkerInternal()

StackWalkerInternal::~StackWalkerInternal ( )
inline

Definition at line 276 of file StackWalker.cc.

Member Function Documentation

◆ GetModuleInfo()

BOOL StackWalkerInternal::GetModuleInfo ( HANDLE  hProcess,
DWORD64  baseAddr,
IMAGEHLP_MODULE64_V3 pModuleInfo 
)
inline

Definition at line 803 of file StackWalker.cc.

◆ GetModuleListPSAPI()

BOOL StackWalkerInternal::GetModuleListPSAPI ( HANDLE  hProcess)
inlineprivate

Definition at line 619 of file StackWalker.cc.

◆ GetModuleListTH32()

BOOL StackWalkerInternal::GetModuleListTH32 ( HANDLE  hProcess,
DWORD  pid 
)
inlineprivate

Definition at line 551 of file StackWalker.cc.

◆ Init()

BOOL StackWalkerInternal::Init ( LPCSTR  szSymPath)
inline

Definition at line 288 of file StackWalker.cc.

◆ LoadModule()

DWORD StackWalkerInternal::LoadModule ( HANDLE  hProcess,
LPCSTR  img,
LPCSTR  mod,
DWORD64  baseAddr,
DWORD  size 
)
inlineprivate

Definition at line 705 of file StackWalker.cc.

◆ LoadModules()

BOOL StackWalkerInternal::LoadModules ( HANDLE  hProcess,
DWORD  dwProcessId 
)
inline

Definition at line 793 of file StackWalker.cc.

Member Data Documentation

◆ m_hDbhHelp

HMODULE StackWalkerInternal::m_hDbhHelp

Definition at line 416 of file StackWalker.cc.

◆ m_hProcess

HANDLE StackWalkerInternal::m_hProcess

Definition at line 417 of file StackWalker.cc.

◆ m_parent

StackWalker* StackWalkerInternal::m_parent

Definition at line 414 of file StackWalker.cc.

◆ m_szSymPath

LPSTR StackWalkerInternal::m_szSymPath

Definition at line 418 of file StackWalker.cc.

◆ pSC

tSC StackWalkerInternal::pSC

Definition at line 466 of file StackWalker.cc.

◆ pSFTA

tSFTA StackWalkerInternal::pSFTA

Definition at line 470 of file StackWalker.cc.

◆ pSGLFA

tSGLFA StackWalkerInternal::pSGLFA

Definition at line 475 of file StackWalker.cc.

◆ pSGMB

tSGMB StackWalkerInternal::pSGMB

Definition at line 479 of file StackWalker.cc.

◆ pSGMI

tSGMI StackWalkerInternal::pSGMI

Definition at line 483 of file StackWalker.cc.

◆ pSGO

tSGO StackWalkerInternal::pSGO

Definition at line 487 of file StackWalker.cc.

◆ pSGSFA

tSGSFA StackWalkerInternal::pSGSFA

Definition at line 492 of file StackWalker.cc.

◆ pSGSP

tSGSP StackWalkerInternal::pSGSP

Definition at line 526 of file StackWalker.cc.

◆ pSI

tSI StackWalkerInternal::pSI

Definition at line 496 of file StackWalker.cc.

◆ pSLM

tSLM StackWalkerInternal::pSLM

Definition at line 501 of file StackWalker.cc.

◆ pSSO

tSSO StackWalkerInternal::pSSO

Definition at line 505 of file StackWalker.cc.

◆ pSW

tSW StackWalkerInternal::pSW

Definition at line 518 of file StackWalker.cc.

◆ pUDSN

tUDSN StackWalkerInternal::pUDSN

Definition at line 523 of file StackWalker.cc.


The documentation for this class was generated from the following file: