LIEF: Library to Instrument Executable Formats Version 0.17.0
|
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... | |
![]() | |
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 |
![]() | |
Object () | |
Object (const Object &other) | |
Object & | operator= (const Object &other) |
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 | COFF Debug information. |
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 |
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 |
|
inline |
LIEF::PE::Debug::Debug | ( | const details::pe_debug & | debug_s, |
Section * | section ) |
|
default |
|
default |
|
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 get_payload().
|
inline |
References LIEF::PE::T.
References LIEF::PE::T.
|
inline |
Reserved should be 0.
|
inline |
|
inlinevirtual |
|
inlinestatic |
References addressof_rawdata(), pointerto_rawdata(), and sizeof_data().
|
static |
|
static |
|
inline |
The major version number of the debug data format.
|
inline |
|
inline |
The minor version number of the debug data format.
|
inline |
|
inline |
|
inline |
File offset of the debug data.
Referenced by get_payload().
|
inline |
|
inline |
|
inline |
The section where debug data is located.
|
inline |
Size of the debug data.
Referenced by get_payload().
|
inline |
|
inline |
The time and date when the debug data was created.
|
inline |
|
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.
Referenced by operator<<.
|
inline |
The format DEBUG_TYPES of the debugging information.