This class represents a DWARF debug information. It can embed different compilation units which can be accessed through compilation_units() .
More...
#include <DebugInfo.hpp>
|
std::unique_ptr< Function > | find_function (const std::string &name) const |
| Try to find the function with the given name (mangled or not)
|
|
std::unique_ptr< Function > | find_function (uint64_t addr) const |
| Try to find the function at the given virtual address.
|
|
std::unique_ptr< Variable > | find_variable (const std::string &name) const |
| Try to find the variable with the given name. This name can be mangled or not.
|
|
std::unique_ptr< Variable > | find_variable (uint64_t addr) const |
| Try to find the variable at the given virtual address.
|
|
std::unique_ptr< Type > | find_type (const std::string &name) const |
| Try to find the type with the given name.
|
|
compilation_units_it | compilation_units () const |
| Iterator on the CompilationUnit embedded in this dwarf.
|
|
FORMAT | format () const override |
|
| ~DebugInfo () override=default |
|
| DebugInfo (std::unique_ptr< details::DebugInfo > impl) |
|
| DebugInfo (std::unique_ptr< details::DebugInfo > impl) |
|
template<class T > |
const T * | as () const |
| This function can be used to down cast a DebugInfo instance:
|
|
This class represents a DWARF debug information. It can embed different compilation units which can be accessed through compilation_units() .
This class can be instantiated from LIEF::Binary::debug_info() or load()
◆ compilation_units_it
◆ ~DebugInfo()
LIEF::dwarf::DebugInfo::~DebugInfo |
( |
| ) |
|
|
overridevirtualdefault |
◆ DebugInfo()
LIEF::DebugInfo::DebugInfo |
( |
std::unique_ptr< details::DebugInfo > | impl | ) |
|
◆ classof()
static bool LIEF::dwarf::DebugInfo::classof |
( |
const LIEF::DebugInfo * | info | ) |
|
|
inlinestatic |
◆ compilation_units()
◆ find_function() [1/2]
std::unique_ptr< Function > LIEF::dwarf::DebugInfo::find_function |
( |
const std::string & | name | ) |
const |
Try to find the function with the given name (mangled or not)
if (auto func = info.find_function("_ZNSt6localeD1Ev")) {
}
if (auto func = info.find_function("std::locale::~locale()")) {
}
DebugInfo(std::unique_ptr< details::DebugInfo > impl)
◆ find_function() [2/2]
std::unique_ptr< Function > LIEF::dwarf::DebugInfo::find_function |
( |
uint64_t | addr | ) |
const |
Try to find the function at the given virtual address.
◆ find_type()
std::unique_ptr< Type > LIEF::dwarf::DebugInfo::find_type |
( |
const std::string & | name | ) |
const |
Try to find the type with the given name.
◆ find_variable() [1/2]
std::unique_ptr< Variable > LIEF::dwarf::DebugInfo::find_variable |
( |
const std::string & | name | ) |
const |
Try to find the variable with the given name. This name can be mangled or not.
◆ find_variable() [2/2]
std::unique_ptr< Variable > LIEF::dwarf::DebugInfo::find_variable |
( |
uint64_t | addr | ) |
const |
Try to find the variable at the given virtual address.
◆ format()
FORMAT LIEF::dwarf::DebugInfo::format |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ from_file()
static std::unique_ptr< DebugInfo > LIEF::dwarf::DebugInfo::from_file |
( |
const std::string & | path | ) |
|
|
static |
The documentation for this class was generated from the following file: