|
My Project
|
#include <StackWalker.h>
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) | |
| virtual | ~StackWalker () |
| 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 | |
| StackWalkerInternal * | m_sw |
| HANDLE | m_hProcess |
| DWORD | m_dwProcessId |
| BOOL | m_modulesLoaded |
| LPSTR | m_szSymPath |
| int | m_options |
| friend | StackWalkerInternal |
typedef struct StackWalker::CallstackEntry StackWalker::CallstackEntry [protected] |
| typedef BOOL(__stdcall * StackWalker::PReadProcessMemoryRoutine)(HANDLE hProcess, DWORD64 qwBaseAddress, PVOID lpBuffer, DWORD nSize, LPDWORD lpNumberOfBytesRead, LPVOID pUserData) |
enum StackWalker::CallstackEntryType [protected] |
| StackWalker::StackWalker | ( | int | options = OptionsAll, |
| LPCSTR | szSymPath = NULL, |
||
| DWORD | dwProcessId = GetCurrentProcessId(), |
||
| HANDLE | hProcess = GetCurrentProcess() |
||
| ) |
| StackWalker::StackWalker | ( | DWORD | dwProcessId, |
| HANDLE | hProcess | ||
| ) |
| StackWalker::~StackWalker | ( | ) | [virtual] |
| BOOL StackWalker::LoadModules | ( | ) |
| BOOL __stdcall StackWalker::myReadProcMem | ( | HANDLE | hProcess, |
| DWORD64 | qwBaseAddress, | ||
| PVOID | lpBuffer, | ||
| DWORD | nSize, | ||
| LPDWORD | lpNumberOfBytesRead | ||
| ) | [static, protected] |
| void StackWalker::OnCallstackEntry | ( | CallstackEntryType | eType, |
| CallstackEntry & | entry | ||
| ) | [protected, virtual] |
| void StackWalker::OnDbgHelpErr | ( | LPCSTR | szFuncName, |
| DWORD | gle, | ||
| DWORD64 | addr | ||
| ) | [protected, virtual] |
| void StackWalker::OnLoadModule | ( | LPCSTR | img, |
| LPCSTR | mod, | ||
| DWORD64 | baseAddr, | ||
| DWORD | size, | ||
| DWORD | result, | ||
| LPCSTR | symType, | ||
| LPCSTR | pdbName, | ||
| ULONGLONG | fileVersion | ||
| ) | [protected, virtual] |
| void StackWalker::OnOutput | ( | LPCSTR | szText | ) | [protected, virtual] |
Reimplemented in SallyAPI::Exception::CExceptionStackWalker.
| void StackWalker::OnSymInit | ( | LPCSTR | szSearchPath, |
| DWORD | symOptions, | ||
| LPCSTR | szUserName | ||
| ) | [protected, virtual] |
| BOOL StackWalker::ShowCallstack | ( | HANDLE | hThread = GetCurrentThread(), |
| const CONTEXT * | context = NULL, |
||
| PReadProcessMemoryRoutine | readMemoryFunction = NULL, |
||
| LPVOID | pUserData = NULL |
||
| ) |
DWORD StackWalker::m_dwProcessId [protected] |
HANDLE StackWalker::m_hProcess [protected] |
BOOL StackWalker::m_modulesLoaded [protected] |
int StackWalker::m_options [protected] |
StackWalkerInternal* StackWalker::m_sw [protected] |
LPSTR StackWalker::m_szSymPath [protected] |
friend StackWalker::StackWalkerInternal [protected] |