a stack trace signature More...
#include <debug_stack.h>
Public Member Functions | |
| Signature (void) | |
| Signature (const Signature &src) | |
| Signature & | operator= (const Signature &src) |
| unsigned | Size (void) const |
| Determine the number of addresses in this signature. | |
| unsigned | GetAddress (int n) const |
| Get a single address from the signature. | |
| bool | operator< (const Signature &other) const |
| Strong ordering operator. | |
Static Public Member Functions | |
| static void | GetSymbol (unsigned addr, char *buf, unsigned bufSize) |
| Determines symbol for given address. | |
| static void | GetSymbol (unsigned addr, char *bufMod, unsigned sizeMod, unsigned *relMod, char *bufSym, unsigned sizeSym, unsigned *relSym, char *bufFile, unsigned sizeFile, unsigned *line, unsigned *relLine) |
| Determines symbol for given address. | |
Friends | |
| class | DebugStackwalk |
a stack trace signature
Definition at line 50 of file debug_stack.h.
|
inlineexplicit |
Definition at line 65 of file debug_stack.h.
| DebugStackwalk::Signature::Signature | ( | const Signature & | src | ) |
Definition at line 118 of file debug_stack.cpp.
| unsigned DebugStackwalk::Signature::GetAddress | ( | int | n | ) | const |
Get a single address from the signature.
The address at index 0 is always on top of the stack.
| n | index, 0..Size()-1 |
Definition at line 133 of file debug_stack.cpp.
|
static |
Determines symbol for given address.
The data is returned in the form <addr> <module>+NN, <sym>+NN, <file>:<line>+NN
| addr | function address |
| buf | return buffer |
| bufSize | size of return buffer, minimum is 64 bytes (256 recommended) |
Definition at line 139 of file debug_stack.cpp.
|
static |
Determines symbol for given address.
| addr | function address |
| bufMod | module buffer, may be NULL |
| sizeMod | size of buffer, including NUL, minimum 16 if given |
| relMod | relative address within module, may be NULL |
| bufSym | symbol buffer, may be NULL |
| sizeSym | size of buffer, including NUL |
| relSym | relative address within symbol, may be NULL |
| bufFile | file name buffer, may be NULL |
| sizeFile | size of buffer, including NUL |
| line | line number, may be NULL |
| relLine | relative address within line, may be NULL |
Definition at line 204 of file debug_stack.cpp.
Strong ordering operator.
Signatures are ordered by looking at the bottom of the stack first. Implemented inline so that STL algorithms using this operator can be compiled more efficiently.
Definition at line 93 of file debug_stack.h.
| DebugStackwalk::Signature & DebugStackwalk::Signature::operator= | ( | const Signature & | src | ) |
Definition at line 123 of file debug_stack.cpp.
|
inline |
Determine the number of addresses in this signature.
Definition at line 74 of file debug_stack.h.
|
friend |
Definition at line 53 of file debug_stack.h.