|
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) |
|
|
| 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) |
|
|
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 BOOL __stdcall | myReadProcMem (HANDLE hProcess, DWORD64 qwBaseAddress, PVOID lpBuffer, DWORD nSize, LPDWORD lpNumberOfBytesRead) |
|
Definition at line 56 of file StackWalker.hh.
◆ PReadProcessMemoryRoutine
typedef BOOL(__stdcall * StackWalker::PReadProcessMemoryRoutine) (HANDLE hProcess, DWORD64 qwBaseAddress, PVOID lpBuffer, DWORD nSize, LPDWORD lpNumberOfBytesRead, LPVOID pUserData) |
◆ anonymous enum
◆ CallstackEntryType
enum StackWalker::CallstackEntryType |
|
protected |
◆ StackWalkOptions
enum StackWalker::StackWalkOptions |
◆ StackWalker() [1/2]
StackWalker::StackWalker |
( |
int |
options = OptionsAll , |
|
|
LPCSTR |
szSymPath = NULL , |
|
|
DWORD |
dwProcessId = GetCurrentProcessId() , |
|
|
HANDLE |
hProcess = GetCurrentProcess() |
|
) |
| |
◆ StackWalker() [2/2]
StackWalker::StackWalker |
( |
DWORD |
dwProcessId, |
|
|
HANDLE |
hProcess |
|
) |
| |
◆ ~StackWalker()
StackWalker::~StackWalker |
( |
| ) |
|
|
virtual |
◆ LoadModules()
BOOL StackWalker::LoadModules |
( |
| ) |
|
◆ myReadProcMem()
BOOL __stdcall StackWalker::myReadProcMem |
( |
HANDLE |
hProcess, |
|
|
DWORD64 |
qwBaseAddress, |
|
|
PVOID |
lpBuffer, |
|
|
DWORD |
nSize, |
|
|
LPDWORD |
lpNumberOfBytesRead |
|
) |
| |
|
staticprotected |
◆ OnCallstackEntry()
void StackWalker::OnCallstackEntry |
( |
CallstackEntryType |
eType, |
|
|
CallstackEntry & |
entry |
|
) |
| |
|
protectedvirtual |
◆ OnDbgHelpErr()
void StackWalker::OnDbgHelpErr |
( |
LPCSTR |
szFuncName, |
|
|
DWORD |
gle, |
|
|
DWORD64 |
addr |
|
) |
| |
|
protectedvirtual |
◆ OnLoadModule()
void StackWalker::OnLoadModule |
( |
LPCSTR |
img, |
|
|
LPCSTR |
mod, |
|
|
DWORD64 |
baseAddr, |
|
|
DWORD |
size, |
|
|
DWORD |
result, |
|
|
LPCSTR |
symType, |
|
|
LPCSTR |
pdbName, |
|
|
ULONGLONG |
fileVersion |
|
) |
| |
|
protectedvirtual |
◆ OnOutput()
void StackWalker::OnOutput |
( |
LPCSTR |
szText | ) |
|
|
protectedvirtual |
◆ OnSymInit()
void StackWalker::OnSymInit |
( |
LPCSTR |
szSearchPath, |
|
|
DWORD |
symOptions, |
|
|
LPCSTR |
szUserName |
|
) |
| |
|
protectedvirtual |
◆ ShowCallstack()
BOOL StackWalker::ShowCallstack |
( |
HANDLE |
hThread = GetCurrentThread() , |
|
|
const CONTEXT * |
context = NULL , |
|
|
PReadProcessMemoryRoutine |
readMemoryFunction = NULL , |
|
|
LPVOID |
pUserData = NULL |
|
) |
| |
◆ m_dwProcessId
DWORD StackWalker::m_dwProcessId |
|
protected |
◆ m_hProcess
HANDLE StackWalker::m_hProcess |
|
protected |
◆ m_MaxRecursionCount
int StackWalker::m_MaxRecursionCount |
|
protected |
◆ m_modulesLoaded
BOOL StackWalker::m_modulesLoaded |
|
protected |
◆ m_options
int StackWalker::m_options |
|
protected |
◆ m_sw
◆ m_szSymPath
LPSTR StackWalker::m_szSymPath |
|
protected |
◆ StackWalkerInternal
friend StackWalker::StackWalkerInternal |
|
protected |
The documentation for this class was generated from the following files: