2005/5/9

     
 

class core_winimage

artefaktur
Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   Namespace Members   Compound Members   Related Pages  

acdk::lang::sys::core_winimage Class Reference

#include <core_winimage.h>

List of all members.

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 &section, 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


Member Typedef Documentation

typedef BOOL(__stdcall * acdk::lang::sys::core_winimage::SYMCLEANUPPROC)( HANDLE ) [private]
 

typedef LPVOID(__stdcall * acdk::lang::sys::core_winimage::SYMFUNCTIONTABLEACCESSPROC)( HANDLE, DWORD ) [private]
 

typedef BOOL(__stdcall * acdk::lang::sys::core_winimage::SYMGETLINEFROMADDR)(HANDLE, DWORD, PDWORD, PIMAGEHLP_LINE) [private]
 

typedef DWORD(__stdcall * acdk::lang::sys::core_winimage::SYMGETMODULEBASEPROC)( HANDLE, DWORD ) [private]
 

typedef DWORD(__stdcall * acdk::lang::sys::core_winimage::SYMGETOPTIONSPROC)( ) [private]
 

typedef BOOL(__stdcall * acdk::lang::sys::core_winimage::SYMINITIALIZEPROC)( HANDLE, LPSTR, BOOL ) [private]
 

typedef DWORD(__stdcall * acdk::lang::sys::core_winimage::SYMSETOPTIONSPROC)( DWORD ) [private]
 

typedef DWORD(__stdcall * acdk::lang::sys::core_winimage::UNDECORATESYMBOLNAME)(LPSTR, LPSTR, DWORD, DWORD) [private]
 


Member Enumeration Documentation

anonymous enum
 

Enumeration values:
SymbolMaxLength 


Constructor & Destructor Documentation

acdk::lang::sys::core_winimage::core_winimage  )  throw ()
 

acdk::lang::sys::core_winimage::~core_winimage  )  throw ()
 


Member Function Documentation

typedef acdk::lang::sys::core_winimage::BOOL __stdcall *  SYMGETSYMFROMADDRPROC  )  [private]
 

typedef acdk::lang::sys::core_winimage::BOOL __stdcall *  STACKWALKPROC  )  [private]
 

void acdk::lang::sys::core_winimage::getFallbackInfo void *  addr,
FallbackInfoResult fbir
 

bool acdk::lang::sys::core_winimage::GetLogicalAddress PVOID  addr,
PTSTR  szModule,
DWORD  len,
DWORD section,
DWORD offset
[private]
 

bool acdk::lang::sys::core_winimage::getSourceLine void *  ptr,
OUT(RString source,
OUT(int)  line
 

SymbolResult acdk::lang::sys::core_winimage::getSymbol void *  addr  ) 
 

bool acdk::lang::sys::core_winimage::initLib  )  [private]
 

bool acdk::lang::sys::core_winimage::initStackWalk CONTEXT *  context,
STACKFRAME *  stack,
bool  determineContext = true
 

bool acdk::lang::sys::core_winimage::isInited  )  [inline]
 

bool acdk::lang::sys::core_winimage::stackWalk CONTEXT *  context,
STACKFRAME *  stack
 


Member Data Documentation

STACKWALKPROC acdk::lang::sys::core_winimage::_StackWalk [private]
 

SYMCLEANUPPROC acdk::lang::sys::core_winimage::_SymCleanup [private]
 

SYMFUNCTIONTABLEACCESSPROC acdk::lang::sys::core_winimage::_SymFunctionTableAccess [private]
 

SYMGETLINEFROMADDR acdk::lang::sys::core_winimage::_SymGetLineFromAddr [private]
 

SYMGETMODULEBASEPROC acdk::lang::sys::core_winimage::_SymGetModuleBase [private]
 

SYMGETOPTIONSPROC acdk::lang::sys::core_winimage::_SymGetOptions [private]
 

SYMGETSYMFROMADDRPROC acdk::lang::sys::core_winimage::_SymGetSymFromAddr [private]
 

SYMINITIALIZEPROC acdk::lang::sys::core_winimage::_SymInitialize [private]
 

SYMSETOPTIONSPROC acdk::lang::sys::core_winimage::_SymSetOptions [private]
 

UNDECORATESYMBOLNAME acdk::lang::sys::core_winimage::_UnDecorateSymbolName [private]
 

typedef acdk::lang::sys::core_winimage::DWORD [private]
 

typedef acdk::lang::sys::core_winimage::HANDLE [private]
 

bool acdk::lang::sys::core_winimage::inited [private]
 

typedef acdk::lang::sys::core_winimage::LPSTACKFRAME [private]
 

typedef acdk::lang::sys::core_winimage::LPVOID [private]
 

typedef acdk::lang::sys::core_winimage::PDWORD [private]
 

typedef acdk::lang::sys::core_winimage::PFUNCTION_TABLE_ACCESS_ROUTINE [private]
 

typedef acdk::lang::sys::core_winimage::PGET_MODULE_BASE_ROUTINE [private]
 

typedef acdk::lang::sys::core_winimage::PIMAGEHLP_SYMBOL [private]
 

typedef acdk::lang::sys::core_winimage::PREAD_PROCESS_MEMORY_ROUTINE [private]
 

typedef acdk::lang::sys::core_winimage::PTRANSLATE_ADDRESS_ROUTINE [private]