|
Public Types |
enum | { SymbolMaxLength = 1024
} |
Public Member Functions |
| core_winimage () throw () |
| ~core_winimage () throw () |
bool | isInited () |
bool | initStackWalk (CONTEXT *context, STACKFRAME *stack, bool determineContext=true) |
bool | stackWalk (CONTEXT *context, STACKFRAME *stack) |
SymbolResult | getSymbol (void *addr) |
bool | getSourceLine (void *ptr, OUT(RString) source, OUT(int) line) |
void | getFallbackInfo (void *addr, FallbackInfoResult &fbir) |
Private Types |
typedef DWORD(__stdcall * | SYMSETOPTIONSPROC )(DWORD) |
typedef DWORD(__stdcall * | SYMGETOPTIONSPROC )() |
typedef BOOL(__stdcall * | SYMINITIALIZEPROC )(HANDLE, LPSTR, BOOL) |
typedef BOOL(__stdcall * | SYMCLEANUPPROC )(HANDLE) |
typedef LPVOID(__stdcall * | SYMFUNCTIONTABLEACCESSPROC )(HANDLE, DWORD) |
typedef DWORD(__stdcall * | SYMGETMODULEBASEPROC )(HANDLE, DWORD) |
typedef DWORD(__stdcall * | UNDECORATESYMBOLNAME )(LPSTR, LPSTR, DWORD, DWORD) |
typedef BOOL(__stdcall * | SYMGETLINEFROMADDR )(HANDLE, DWORD, PDWORD, PIMAGEHLP_LINE) |
Private Member Functions |
bool | GetLogicalAddress (PVOID addr, PTSTR szModule, DWORD len, DWORD §ion, DWORD &offset) |
bool | initLib () |
typedef | BOOL (__stdcall *STACKWALKPROC)(DWORD |
typedef | BOOL (__stdcall *SYMGETSYMFROMADDRPROC)(HANDLE |
Private Attributes |
bool | inited |
typedef | HANDLE |
typedef | LPSTACKFRAME |
typedef | LPVOID |
typedef | PREAD_PROCESS_MEMORY_ROUTINE |
typedef | PFUNCTION_TABLE_ACCESS_ROUTINE |
typedef | PGET_MODULE_BASE_ROUTINE |
typedef | PTRANSLATE_ADDRESS_ROUTINE |
typedef | DWORD |
typedef | PDWORD |
typedef | PIMAGEHLP_SYMBOL |
SYMINITIALIZEPROC | _SymInitialize |
SYMCLEANUPPROC | _SymCleanup |
STACKWALKPROC | _StackWalk |
SYMFUNCTIONTABLEACCESSPROC | _SymFunctionTableAccess |
SYMGETMODULEBASEPROC | _SymGetModuleBase |
SYMGETSYMFROMADDRPROC | _SymGetSymFromAddr |
SYMSETOPTIONSPROC | _SymSetOptions |
SYMGETOPTIONSPROC | _SymGetOptions |
UNDECORATESYMBOLNAME | _UnDecorateSymbolName |
SYMGETLINEFROMADDR | _SymGetLineFromAddr |