retdec
|
#include <debugformat.h>
Public Types | |
using | SymbolTable = std::map< retdec::common::Address, const retdec::fileformat::Symbol * > |
Public Member Functions | |
DebugFormat () | |
DebugFormat (retdec::loader::Image *inFile, const std::string &pdbFile, SymbolTable *symtab, retdec::demangler::Demangler *demangler) | |
retdec::common::Function * | getFunction (retdec::common::Address a) |
const retdec::common::Object * | getGlobalVar (retdec::common::Address a) |
bool | hasInformation () const |
Public Attributes | |
retdec::common::GlobalVarContainer | globals |
retdec::common::TypeContainer | types |
std::map< retdec::common::Address, retdec::common::Function > | functions |
Private Member Functions | |
void | loadPdb () |
void | loadPdbTypes () |
void | loadPdbGlobalVariables () |
void | loadPdbFunctions () |
retdec::common::Type | loadPdbType (retdec::pdbparser::PDBTypeDef *type) |
void | loadDwarf () |
void | loadDwarf_CU (llvm::DWARFDie die) |
retdec::common::Function | loadDwarf_subprogram (llvm::DWARFDie die) |
std::string | loadDwarf_type (llvm::DWARFDie die) |
std::string | _loadDwarf_type (llvm::DWARFDie die) |
retdec::common::Object | loadDwarf_formal_parameter (llvm::DWARFDie die, unsigned argCntr) |
retdec::common::Object | loadDwarf_variable (llvm::DWARFDie die) |
void | loadSymtab () |
Private Attributes | |
std::string | _inputFile |
Input file used to initialize this debug information. More... | |
SymbolTable * | _symtab = nullptr |
Symbol table to read symbols from. More... | |
retdec::loader::Image * | _inFile = nullptr |
Underlying binary file representation. More... | |
retdec::pdbparser::PDBFile * | _pdbFile = nullptr |
Underlying PDB representation. More... | |
retdec::demangler::Demangler * | _demangler = nullptr |
Demangler. More... | |
std::map< std::pair< llvm::DWARFUnit *, uint32_t >, std::string > | dieOff2type |
Dwarf named types cache. More... | |
Common (PDB and DWARF) debug information representation.
using retdec::debugformat::DebugFormat::SymbolTable = std::map<retdec::common::Address, const retdec::fileformat::Symbol*> |
retdec::debugformat::DebugFormat::DebugFormat | ( | ) |
retdec::debugformat::DebugFormat::DebugFormat | ( | retdec::loader::Image * | inFile, |
const std::string & | pdbFile, | ||
SymbolTable * | symtab, | ||
retdec::demangler::Demangler * | demangler | ||
) |
inFile | Parsed file format representation of inputFile . |
pdbFile | Input PDB file to load debugging information from. |
symtab | Symbol table. |
demangler | Demangled instance used for this input file. |
|
private |
retdec::common::Function * retdec::debugformat::DebugFormat::getFunction | ( | retdec::common::Address | a | ) |
const retdec::common::Object * retdec::debugformat::DebugFormat::getGlobalVar | ( | retdec::common::Address | a | ) |
bool retdec::debugformat::DebugFormat::hasInformation | ( | ) | const |
True
if debug info was loaded successfully from PDB or DWARF. False
otherwise.
|
private |
|
private |
|
private |
|
private |
|
private |
processing.
|
private |
|
private |
|
private |
|
private |
|
private |
Convert PDB type representation into common type representation.
type | PDB type. |
|
private |
|
private |
TODO: move to own module.
|
private |
Demangler.
|
private |
Underlying binary file representation.
|
private |
Input file used to initialize this debug information.
|
private |
Underlying PDB representation.
|
private |
Symbol table to read symbols from.
|
private |
Dwarf named types cache.
std::map<retdec::common::Address, retdec::common::Function> retdec::debugformat::DebugFormat::functions |
retdec::common::GlobalVarContainer retdec::debugformat::DebugFormat::globals |
retdec::common::TypeContainer retdec::debugformat::DebugFormat::types |