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.
|
optional< uint64_t > | find_function_address (const std::string &name) const override |
| Attempt to resolve the address of the function specified by name.
|
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()
◆ 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_function_address()
optional< uint64_t > LIEF::dwarf::DebugInfo::find_function_address |
( |
const std::string & | name | ) |
const |
|
overridevirtual |
Attempt to resolve the address of the function specified by name.
Implements LIEF::DebugInfo.
◆ 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()
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: