Enumerations | |
enum | LEVEL_PINCLIENT::UNDECORATION { LEVEL_PINCLIENT::UNDECORATION_COMPLETE, LEVEL_PINCLIENT::UNDECORATION_NAME_ONLY } |
Functions | |
string | LEVEL_PINCLIENT::PIN_UndecorateSymbolName (const string &symbolName, UNDECORATION style) |
SYM | LEVEL_PINCLIENT::SYM_Next (SYM x) |
SYM | LEVEL_PINCLIENT::SYM_Prev (SYM x) |
const string & | LEVEL_PINCLIENT::SYM_Name (SYM x) |
SYM | LEVEL_PINCLIENT::SYM_Invalid () |
BOOL | LEVEL_PINCLIENT::SYM_Valid (SYM x) |
BOOL | LEVEL_PINCLIENT::SYM_Dynamic (SYM x) |
ADDRINT | LEVEL_PINCLIENT::SYM_Value (SYM x) |
UINT32 | LEVEL_PINCLIENT::SYM_Index (SYM x) |
You must call PIN_InitSymbols to make symbols available.
Can be accessed at instrumentation time and analysis time.
Iteration idioms:
// Forward pass over all symbols in an image for( SYM sym= IMG_RegsymHead(img); SYM_Valid(sym); sym = SYM_Next(sym) )
|
List of supported symbol name undecoration styles. Used in PIN_UndecorateSymbolName() |
|
Undecorate symbol name.
C++ decorated name is undecorated either to full signature (UNDECORATION_COMPLETE style)
Example of undecoration of symbol generated by Microsoft compiler in Windows:
Style Original name Undecorated name ===================== ================== ====================================== UNDECORATION_COMPLETE ?foo@ccc@@QAEPADH@Z public: char * __thiscall ccc::foo(int) UNDECORATION_NAME_ONLY ccc::foo
Symbol name decorated according to Windows IA32 C calling conventions is undecorated as follows: _foo -> foo (__cdecl convention) _foo@4 -> foo (__stdcall convention) @foo@12 -> foo (__fastcall convention)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|