LIEF: Library to Instrument Executable Formats Version 0.17.0
|
This class represents the IMAGE_DEBUG_TYPE_FPO
debug entry.
More...
#include <FPO.hpp>
Classes | |
struct | entry_t |
Represents the stack frame layout for a x86 function when frame pointer omission (FPO) optimization is used. More... | |
Public Types | |
enum class | FRAME_TYPE { FPO = 0 , TRAP = 1 , TSS = 2 , NON_FPO = 3 } |
using | entries_t = std::vector<entry_t> |
using | it_entries = ref_iterator<entries_t&> |
using | it_const_entries = const_ref_iterator<const entries_t&> |
![]() | |
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 | |
FPO (const details::pe_debug &hdr, Section *section) | |
FPO (const FPO &other)=default | |
FPO & | operator= (const FPO &other)=default |
FPO (FPO &&)=default | |
FPO & | operator= (FPO &&other)=default |
std::unique_ptr< Debug > | clone () const override |
it_const_entries | entries () const |
Iterator over the FPO entries. | |
it_entries | entries () |
~FPO () override=default | |
std::string | to_string () const override |
![]() | |
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 | |
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 |
![]() | |
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 std::unique_ptr< FPO > | parse (const details::pe_debug &hdr, Section *section, span< uint8_t > payload) |
static bool | classof (const Debug *debug) |
![]() | |
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 the IMAGE_DEBUG_TYPE_FPO
debug entry.
using LIEF::PE::FPO::entries_t = std::vector<entry_t> |
using LIEF::PE::FPO::it_const_entries = const_ref_iterator<const entries_t&> |
using LIEF::PE::FPO::it_entries = ref_iterator<entries_t&> |
|
strong |
|
inline |
|
default |
|
default |
|
overridedefault |
|
inlinestatic |
|
inlineoverridevirtual |
Reimplemented from LIEF::PE::Debug.
|
inline |
|
inline |
Iterator over the FPO entries.
|
static |
|
overridevirtual |
Reimplemented from LIEF::PE::Debug.