| 
    LIEF: Library to Instrument Executable Formats Version 1.0.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... | |
| 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().