#include <IgHook_IgHookTrace.h>
List of all members.
Classes |
struct | Counter |
| Nearly dummy object type to identify a counter. More...
|
class | CounterValue |
| Value for a counter chained from a trace. More...
|
Public Member Functions |
void * | operator new (size_t n, IgHookTraceAlloc *alloc=0) |
| IgHookTrace (IgHookTrace *parent=0, void *address=0) |
IgHookTrace * | parent (void) |
IgHookTrace * | next (void) |
void * | address (void) |
bool | symbol (const char *&sym, const char *&lib, int &offset, int &liboffset) |
IgHookTrace * | children (void) |
IgHookTrace * | child (void *address) |
CounterValue * | counters (void) |
CounterValue * | counter (Counter *id) |
void | merge (IgHookTrace *other) |
Static Public Member Functions |
static int | stacktrace (void **addresses, int nmax) |
static void * | tosymbol (void *address) |
static bool | symbol (void *address, const char *&sym, const char *&lib, int &offset, int &liboffset) |
Private Attributes |
IgHookTraceAlloc * | m_alloc |
IgHookTrace * | m_parent |
IgHookTrace * | m_next |
IgHookTrace * | m_children |
void * | m_address |
CounterValue * | m_counters |
Detailed Description
Definition at line 28 of file IgHook_IgHookTrace.h.
Constructor & Destructor Documentation
IgHookTrace::IgHookTrace |
( |
IgHookTrace * |
parent = 0 , |
|
|
void * |
address = 0 |
|
) |
| |
Member Function Documentation
void * IgHookTrace::address |
( |
void |
) |
|
static int IgHookTrace::stacktrace |
( |
void ** |
addresses, |
|
|
int |
nmax |
|
) |
| [static] |
bool IgHookTrace::symbol |
( |
void * |
address, |
|
|
const char *& |
sym, |
|
|
const char *& |
lib, |
|
|
int & |
offset, |
|
|
int & |
liboffset |
|
) |
| [static] |
Definition at line 227 of file IgHook_IgHookTrace.cpp.
{
sym = lib = 0;
offset = 0;
liboffset = (unsigned long) address;
Dl_info info;
if (dladdr (address, &info))
{
if (info.dli_fname && info.dli_fname [0])
lib = info.dli_fname;
if (info.dli_fbase)
liboffset = (unsigned long) address - (unsigned long) info.dli_fbase;
if (info.dli_saddr)
offset = (unsigned long) address - (unsigned long) info.dli_saddr;
if (info.dli_sname && info.dli_sname [0])
sym = info.dli_sname;
return true;
}
return false;
}
bool IgHookTrace::symbol |
( |
const char *& |
sym, |
|
|
const char *& |
lib, |
|
|
int & |
offset, |
|
|
int & |
liboffset |
|
) |
| |
void * IgHookTrace::tosymbol |
( |
void * |
address ) |
[static] |
Member Data Documentation
The documentation for this class was generated from the following files: