|
LIEF: Library to Instrument Executable Formats Version 0.17.1
|
This class represents a generic entry in the debug data directory. For known types, this class is extended to provide a dedicated API (see: CodeCodeView). More...
#include <Debug.hpp>


Public Types | |
| enum class | TYPES { UNKNOWN = 0 , COFF = 1 , CODEVIEW = 2 , FPO = 3 , MISC = 4 , EXCEPTION = 5 , FIXUP = 6 , OMAP_TO_SRC = 7 , OMAP_FROM_SRC = 8 , BORLAND = 9 , RESERVED10 = 10 , CLSID = 11 , VC_FEATURE = 12 , POGO = 13 , ILTCG = 14 , MPX = 15 , REPRO = 16 , PDBCHECKSUM = 19 , EX_DLLCHARACTERISTICS = 20 } |
| The entry types. More... | |
| Public Types inherited from LIEF::Object | |
| template<class T> | |
| using | output_t = add_pointer_t<decay_t<T>> |
| template<class T> | |
| using | output_const_t = add_pointer_t<add_const_t<decay_t<T>>> |
Public Member Functions | |
| Debug ()=default | |
| Debug (TYPES type) | |
| Debug (const details::pe_debug &debug_s, Section *section) | |
| Debug (const Debug &other)=default | |
| Debug & | operator= (const Debug &other)=default |
| Debug (Debug &&)=default | |
| Debug & | operator= (Debug &&)=default |
| ~Debug () override=default | |
| virtual std::unique_ptr< Debug > | clone () const |
| uint32_t | characteristics () const |
| Reserved should be 0. | |
| uint32_t | timestamp () const |
| The time and date when the debug data was created. | |
| uint16_t | major_version () const |
| The major version number of the debug data format. | |
| uint16_t | minor_version () const |
| The minor version number of the debug data format. | |
| TYPES | type () const |
| The format DEBUG_TYPES of the debugging information. | |
| uint32_t | sizeof_data () const |
| Size of the debug data. | |
| uint32_t | addressof_rawdata () const |
| Address of the debug data relative to the image base. | |
| uint32_t | pointerto_rawdata () const |
| File offset of the debug data. | |
| const Section * | section () const |
| The section where debug data is located. | |
| Section * | section () |
| span< uint8_t > | payload () |
| Debug data associated with this entry. | |
| span< const uint8_t > | payload () const |
| void | characteristics (uint32_t characteristics) |
| void | timestamp (uint32_t timestamp) |
| void | major_version (uint16_t major_version) |
| void | minor_version (uint16_t minor_version) |
| void | sizeof_data (uint32_t sizeof_data) |
| void | addressof_rawdata (uint32_t addressof_rawdata) |
| void | pointerto_rawdata (uint32_t pointerto_rawdata) |
| template<class T> | |
| const T * | as () const |
| template<class T> | |
| T * | as () |
| void | accept (Visitor &visitor) const override |
| virtual std::string | to_string () const |
| Public Member Functions inherited from LIEF::Object | |
| Object () | |
| Object (const Object &other) | |
| Object & | operator= (const Object &other) |
| Object (Object &&other) noexcept=default | |
| Object & | operator= (Object &&other) noexcept=default |
| template<class T> | |
| output_t< T > | as () |
| template<class T> | |
| output_const_t< T > | as () const |
| virtual bool | operator== (const Object &other) const |
| virtual bool | operator!= (const Object &other) const |
| virtual | ~Object () |
Static Public Member Functions | |
| static span< uint8_t > | get_payload (Section §ion, uint32_t rva, uint32_t offset, uint32_t size) |
| static span< uint8_t > | get_payload (Section §ion, const details::pe_debug &hdr) |
| static span< uint8_t > | get_payload (Section §ion, const Debug &dbg) |
This class represents a generic entry in the debug data directory. For known types, this class is extended to provide a dedicated API (see: CodeCodeView).
|
strong |
The entry types.
| Enumerator | |
|---|---|
| UNKNOWN | |
| COFF | |
| CODEVIEW | CodeView debug information that is used to store PDB info. |
| FPO | Frame pointer omission information. |
| MISC | Miscellaneous debug information. |
| EXCEPTION | Debug information that is a copy of the .pdata section. |
| FIXUP | (Reserved) Debug information used for fixup relocations |
| OMAP_TO_SRC | The mapping from an RVA in image to an RVA in source image. |
| OMAP_FROM_SRC | The mapping from an RVA in source image to an RVA in image. |
| BORLAND | Reserved for Borland. |
| RESERVED10 | Reserved. |
| CLSID | Reserved. |
| VC_FEATURE | Visual C++ feature information. |
| POGO | Profile Guided Optimization metadata. |
| ILTCG | Incremental Link Time Code Generation metadata. |
| MPX | |
| REPRO | PE determinism or reproducibility information. |
| PDBCHECKSUM | Checksum of the PDB file. |
| EX_DLLCHARACTERISTICS | Extended DLL characteristics. |
|
default |
Referenced by as(), LIEF::PE::CodeView::classof(), LIEF::PE::ExDllCharacteristics::classof(), LIEF::PE::FPO::classof(), LIEF::PE::PDBChecksum::classof(), LIEF::PE::Pogo::classof(), LIEF::PE::Repro::classof(), LIEF::PE::VCFeature::classof(), clone(), LIEF::PE::CodeView::CodeView(), LIEF::PE::CodeView::CodeView(), LIEF::PE::CodeView::CodeView(), Debug(), Debug(), LIEF::PE::ExDllCharacteristics::ExDllCharacteristics(), LIEF::PE::FPO::FPO(), get_payload(), operator<<, operator=(), operator=(), payload(), LIEF::PE::PDBChecksum::PDBChecksum(), LIEF::PE::PDBChecksum::PDBChecksum(), LIEF::PE::Pogo::Pogo(), LIEF::PE::Pogo::Pogo(), LIEF::PE::Repro::Repro(), LIEF::PE::Repro::Repro(), LIEF::PE::Repro::Repro(), LIEF::PE::Repro::Repro(), and LIEF::PE::VCFeature::VCFeature().
| LIEF::PE::Debug::Debug | ( | const details::pe_debug & | debug_s, |
| Section * | section ) |
References section().
|
overridedefault |
|
overridevirtual |
Implements LIEF::Object.
Reimplemented in LIEF::PE::Pogo, and LIEF::PE::Repro.
|
inline |
Address of the debug data relative to the image base.
Referenced by addressof_rawdata(), and get_payload().
|
inline |
References addressof_rawdata().
References Debug(), and LIEF::PE::T.
References LIEF::PE::T.
|
inline |
Reserved should be 0.
Referenced by characteristics().
|
inline |
References characteristics().
|
inlinevirtual |
Reimplemented in LIEF::PE::CodeView, LIEF::PE::CodeViewPDB, LIEF::PE::ExDllCharacteristics, LIEF::PE::FPO, LIEF::PE::PDBChecksum, LIEF::PE::Pogo, LIEF::PE::Repro, and LIEF::PE::VCFeature.
References Debug().
References addressof_rawdata(), Debug(), get_payload(), pointerto_rawdata(), section(), and sizeof_data().
|
static |
References section().
|
static |
References section().
Referenced by get_payload().
|
inline |
The major version number of the debug data format.
Referenced by major_version().
|
inline |
References major_version().
|
inline |
The minor version number of the debug data format.
Referenced by minor_version().
|
inline |
References minor_version().
| span< uint8_t > LIEF::PE::Debug::payload | ( | ) |
Debug data associated with this entry.
Referenced by LIEF::PE::ExDllCharacteristics::parse(), LIEF::PE::FPO::parse(), LIEF::PE::PDBChecksum::parse(), LIEF::PE::VCFeature::parse(), and payload().
|
inline |
File offset of the debug data.
Referenced by get_payload(), and pointerto_rawdata().
|
inline |
References pointerto_rawdata().
|
inline |
|
inline |
The section where debug data is located.
Referenced by Debug(), LIEF::PE::FPO::FPO(), get_payload(), get_payload(), get_payload(), LIEF::PE::ExDllCharacteristics::parse(), LIEF::PE::FPO::parse(), LIEF::PE::PDBChecksum::parse(), and LIEF::PE::VCFeature::parse().
|
inline |
Size of the debug data.
Referenced by get_payload(), and sizeof_data().
|
inline |
References sizeof_data().
|
inline |
The time and date when the debug data was created.
Referenced by timestamp().
|
inline |
References timestamp().
|
virtual |
Reimplemented in LIEF::PE::CodeView, LIEF::PE::CodeViewPDB, LIEF::PE::ExDllCharacteristics, LIEF::PE::FPO, LIEF::PE::PDBChecksum, LIEF::PE::Pogo, LIEF::PE::Repro, and LIEF::PE::VCFeature.
References LIEF_API.
Referenced by operator<<.
|
inline |
The format DEBUG_TYPES of the debugging information.
Referenced by Debug().