00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef ROOT_TMemStatBacktrace
00012 #define ROOT_TMemStatBacktrace
00013
00014 #define _INIT_TOP_STACK extern void *g_global_stack_end;
00015 #define _GET_CALLER_FRAME_ADDR g_global_stack_end = __builtin_frame_address(1);
00016
00017
00018 #include "Rtypes.h"
00019
00020 class TString;
00021
00022 namespace memstat {
00023
00024
00025
00026 size_t getBacktrace(void **_trace, size_t _size, Bool_t _bUseGNUBuiltinBacktrace = kFALSE);
00027 int getSymbols(void *_pAddr,
00028 TString &_strInfo, TString &_strLib, TString &_strSymbol);
00029 void getSymbolFullInfo(void *_pAddr, TString *_retInfo, const char *const _seporator = " | ");
00030 void demangle(char *_codeInfo, TString &_str);
00031 }
00032
00033
00034 #endif