|
LIEF: Library to Instrument Executable Formats Version 1.0.0
|
This class provides an interface for PDB files. One can instantiate this class using LIEF::pdb::load() or LIEF::pdb::DebugInfo::from_file. More...
#include <DebugInfo.hpp>


Public Types | |
| using | compilation_units_it = iterator_range<CompilationUnit::Iterator> |
| Iterator over the CompilationUnit. | |
| using | public_symbols_it = iterator_range<PublicSymbol::Iterator> |
| Iterator over the symbols located in the PDB public symbol stream. | |
| using | types_it = iterator_range<Type::Iterator> |
| Iterator over the PDB's types. | |
| Public Types inherited from LIEF::DebugInfo | |
| enum class | FORMAT { UNKNOWN = 0 , DWARF , PDB } |
Public Member Functions | |
| FORMAT | format () const override |
| compilation_units_it | compilation_units () const |
| Iterator over the CompilationUnit from the PDB's DBI stream. CompilationUnit are also named "Module" in the PDB's official documentation. | |
| public_symbols_it | public_symbols () const |
| Return an iterator over the public symbol stream. | |
| types_it | types () const |
| Return an iterator over the different types registered in this PDB. | |
| std::unique_ptr< Type > | find_type (const std::string &name) const |
| Find the type with the given name. | |
| std::unique_ptr< PublicSymbol > | find_public_symbol (const std::string &name) const |
| Try to find the PublicSymbol from the given name (based on the public symbol stream). | |
| optional< uint64_t > | find_function_address (const std::string &name) const override |
| Attempt to resolve the address of the function specified by name. | |
| uint32_t | age () const |
| The number of times the PDB file has been written. | |
| std::string | guid () const |
| Unique identifier of the PDB file. | |
| std::string | to_string () const |
| Pretty representation. | |
| ~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 &pdb_path) |
| Instantiate this class from the given PDB file. It returns a nullptr if the PDB can't be processed. | |
| static bool | classof (const LIEF::DebugInfo *info) |
This class provides an interface for PDB files. One can instantiate this class using LIEF::pdb::load() or LIEF::pdb::DebugInfo::from_file.
Iterator over the CompilationUnit.
Iterator over the symbols located in the PDB public symbol stream.
Iterator over the PDB's types.
|
overridevirtualdefault |
Reimplemented from LIEF::DebugInfo.
| LIEF::DebugInfo::DebugInfo | ( | std::unique_ptr< details::DebugInfo > | impl | ) |
Referenced by operator<<.
| uint32_t LIEF::pdb::DebugInfo::age | ( | ) | const |
The number of times the PDB file has been written.
|
inlinestatic |
References LIEF::DebugInfo::PDB.
| compilation_units_it LIEF::pdb::DebugInfo::compilation_units | ( | ) | const |
Iterator over the CompilationUnit from the PDB's DBI stream. CompilationUnit are also named "Module" in the PDB's official documentation.
|
overridevirtual |
Attempt to resolve the address of the function specified by name.
Implements LIEF::DebugInfo.
| std::unique_ptr< PublicSymbol > LIEF::pdb::DebugInfo::find_public_symbol | ( | const std::string & | name | ) | const |
Try to find the PublicSymbol from the given name (based on the public symbol stream).
The function returns a nullptr if the symbol can't be found
| std::unique_ptr< Type > LIEF::pdb::DebugInfo::find_type | ( | const std::string & | name | ) | const |
Find the type with the given name.
|
inlineoverridevirtual |
Reimplemented from LIEF::DebugInfo.
References LIEF::DebugInfo::PDB.
|
static |
Instantiate this class from the given PDB file. It returns a nullptr if the PDB can't be processed.
Referenced by LIEF::pdb::load().
| std::string LIEF::pdb::DebugInfo::guid | ( | ) | const |
Unique identifier of the PDB file.
| public_symbols_it LIEF::pdb::DebugInfo::public_symbols | ( | ) | const |
Return an iterator over the public symbol stream.
| std::string LIEF::pdb::DebugInfo::to_string | ( | ) | const |
| types_it LIEF::pdb::DebugInfo::types | ( | ) | const |
Return an iterator over the different types registered in this PDB.