Developer Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
StackWalker Class Reference

Classes

struct  CallstackEntry
 

Public Types

enum  StackWalkOptions {
  RetrieveNone = 0, RetrieveSymbol = 1, RetrieveLine = 2, RetrieveModuleInfo = 4,
  RetrieveFileVersion = 8, RetrieveVerbose = 0xF, SymBuildPath = 0x10, SymUseSymSrv = 0x20,
  SymAll = 0x30, OptionsAll = 0x3F
}
 
enum  { STACKWALK_MAX_NAMELEN = 1024 }
 
typedef enum
StackWalker::StackWalkOptions 
StackWalkOptions
 
typedef BOOL(__stdcall * PReadProcessMemoryRoutine )(HANDLE hProcess, DWORD64 qwBaseAddress, PVOID lpBuffer, DWORD nSize, LPDWORD lpNumberOfBytesRead, LPVOID pUserData)
 

Public Member Functions

 StackWalker (int options=OptionsAll, LPCSTR szSymPath=NULL, DWORD dwProcessId=GetCurrentProcessId(), HANDLE hProcess=GetCurrentProcess())
 
 StackWalker (DWORD dwProcessId, HANDLE hProcess)
 
BOOL LoadModules ()
 
BOOL ShowCallstack (HANDLE hThread=GetCurrentThread(), const CONTEXT *context=NULL, PReadProcessMemoryRoutine readMemoryFunction=NULL, LPVOID pUserData=NULL)
 

Protected Types

enum  CallstackEntryType { firstEntry, nextEntry, lastEntry }
 
typedef struct
StackWalker::CallstackEntry 
CallstackEntry
 

Protected Member Functions

virtual void OnSymInit (LPCSTR szSearchPath, DWORD symOptions, LPCSTR szUserName)
 
virtual void OnLoadModule (LPCSTR img, LPCSTR mod, DWORD64 baseAddr, DWORD size, DWORD result, LPCSTR symType, LPCSTR pdbName, ULONGLONG fileVersion)
 
virtual void OnCallstackEntry (CallstackEntryType eType, CallstackEntry &entry)
 
virtual void OnDbgHelpErr (LPCSTR szFuncName, DWORD gle, DWORD64 addr)
 
virtual void OnOutput (LPCSTR szText)
 

Static Protected Member Functions

static BOOL __stdcall myReadProcMem (HANDLE hProcess, DWORD64 qwBaseAddress, PVOID lpBuffer, DWORD nSize, LPDWORD lpNumberOfBytesRead)
 

Protected Attributes

StackWalkerInternalm_sw
 
HANDLE m_hProcess
 
DWORD m_dwProcessId
 
BOOL m_modulesLoaded
 
LPSTR m_szSymPath
 
int m_options
 
int m_MaxRecursionCount
 
friend StackWalkerInternal
 

Private Member Functions

 StackWalker (const StackWalker &)
 
StackWalkeroperator= (const StackWalker &)
 

Detailed Description

Definition at line 52 of file StackWalker.hh.


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