|
LIEF: Library to Instrument Executable Formats Version 1.0.0
|
This class represents a DWARF debug information. It can embed different compilation units which can be accessed through compilation_units() . More...
#include <DebugInfo.hpp>


Public Types | |
| using | compilation_units_it = iterator_range<CompilationUnit::Iterator> |
| Iterator over the CompilationUnit. | |
| Public Types inherited from LIEF::DebugInfo | |
| enum class | FORMAT { UNKNOWN = 0 , DWARF , PDB } |
Public Member Functions | |
| 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) | |
| Public Member Functions inherited from LIEF::DebugInfo | |
| 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: | |
Static Public Member Functions | |
| static std::unique_ptr< DebugInfo > | from_file (const std::string &path) |
| static bool | classof (const LIEF::DebugInfo *info) |
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()
Iterator over the CompilationUnit.
|
overridevirtualdefault |
Reimplemented from LIEF::DebugInfo.
| LIEF::DebugInfo::DebugInfo | ( | std::unique_ptr< details::DebugInfo > | impl | ) |
|
inlinestatic |
References LIEF::DebugInfo::DWARF.
| compilation_units_it LIEF::dwarf::DebugInfo::compilation_units | ( | ) | const |
Iterator on the CompilationUnit embedded in this dwarf.
| 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).
| std::unique_ptr< Function > LIEF::dwarf::DebugInfo::find_function | ( | uint64_t | addr | ) | const |
Try to find the function at the given virtual address.
|
overridevirtual |
Attempt to resolve the address of the function specified by name.
Implements LIEF::DebugInfo.
| std::unique_ptr< Type > LIEF::dwarf::DebugInfo::find_type | ( | const std::string & | name | ) | const |
Try to find the type with the given name.
| 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.
| std::unique_ptr< Variable > LIEF::dwarf::DebugInfo::find_variable | ( | uint64_t | addr | ) | const |
Try to find the variable at the given virtual address.
|
inlineoverridevirtual |
Reimplemented from LIEF::DebugInfo.
References LIEF::DebugInfo::DWARF.
|
static |
Referenced by LIEF::dwarf::load().