proxygen
folly::symbolizer::SymbolizedFrame Struct Reference

#include <Symbolizer.h>

Public Member Functions

 SymbolizedFrame ()
 
void set (const std::shared_ptr< ElfFile > &file, uintptr_t address, Dwarf::LocationInfoMode mode)
 
void clear ()
 
fbstring demangledName () const
 

Public Attributes

bool found = false
 
const char * name = nullptr
 
Dwarf::LocationInfo location
 

Private Attributes

std::shared_ptr< ElfFilefile_
 

Detailed Description

Frame information: symbol name and location.

Definition at line 44 of file Symbolizer.h.

Constructor & Destructor Documentation

folly::symbolizer::SymbolizedFrame::SymbolizedFrame ( )
inline

Definition at line 45 of file Symbolizer.h.

References mode.

Referenced by clear().

45 {}

Member Function Documentation

void folly::symbolizer::SymbolizedFrame::clear ( )
inline

Definition at line 52 of file Symbolizer.h.

References SymbolizedFrame().

Referenced by set(), and folly::symbolizer::Symbolizer::symbolize().

52  {
53  *this = SymbolizedFrame();
54  }
fbstring folly::symbolizer::SymbolizedFrame::demangledName ( ) const
inline

Demangle the name and return it. Not async-signal-safe; allocates memory.

Definition at line 63 of file Symbolizer.h.

References folly::demangle().

Referenced by folly::symbolizer::test::TEST().

63  {
64  return name ? demangle(name) : fbstring();
65  }
basic_fbstring< char > fbstring
Definition: FBString.h:2904
fbstring demangle(const char *name)
Definition: Demangle.cpp:111
void folly::symbolizer::SymbolizedFrame::set ( const std::shared_ptr< ElfFile > &  file,
uintptr_t  address,
Dwarf::LocationInfoMode  mode 
)

Definition at line 65 of file Symbolizer.cpp.

References clear(), file_, found, location, and name.

68  {
69  clear();
70  found = true;
71 
72  address += file->getBaseAddress();
73  auto sym = file->getDefinitionByAddress(address);
74  if (!sym.first) {
75  return;
76  }
77 
78  file_ = file;
79  name = file->getSymbolName(sym);
80 
81  Dwarf(file.get()).findAddress(address, location, mode);
82 }
Dwarf::LocationInfo location
Definition: Symbolizer.h:58
folly::Optional< PskKeyExchangeMode > mode
std::shared_ptr< ElfFile > file_
Definition: Symbolizer.h:68

Member Data Documentation

std::shared_ptr<ElfFile> folly::symbolizer::SymbolizedFrame::file_
private

Definition at line 68 of file Symbolizer.h.

Referenced by set().

bool folly::symbolizer::SymbolizedFrame::found = false
Dwarf::LocationInfo folly::symbolizer::SymbolizedFrame::location
const char* folly::symbolizer::SymbolizedFrame::name = nullptr

The documentation for this struct was generated from the following files: