17#ifndef LIEF_PE_DEBUG_H
18#define LIEF_PE_DEBUG_H
62 EX_DLLCHARACTERISTICS = 20,
69 Debug(
const details::pe_debug& debug_s);
75 virtual std::unique_ptr<Debug>
clone()
const {
76 return std::unique_ptr<Debug>(
new Debug(*
this));
81 return characteristics_;
91 return major_version_;
96 return minor_version_;
111 return addressof_rawdata_;
116 return pointerto_rawdata_;
120 characteristics_ = characteristics;
124 timestamp_ = timestamp;
128 major_version_ = major_version;
132 minor_version_ = minor_version;
136 sizeof_data_ = sizeof_data;
140 addressof_rawdata_ = addressof_rawdata;
144 pointerto_rawdata_ = pointerto_rawdata;
152 TYPES type_ = TYPES::UNKNOWN;
153 uint32_t characteristics_ = 0;
154 uint32_t timestamp_ = 0;
155 uint16_t major_version_ = 0;
156 uint16_t minor_version_ = 0;
157 uint32_t sizeof_data_ = 0;
158 uint32_t addressof_rawdata_ = 0;
159 uint32_t pointerto_rawdata_ = 0;
Class that is used to rebuild a raw PE binary from a PE::Binary object.
Definition PE/Builder.hpp:45
This class represents a generic entry in the debug data directory. For known types,...
Definition debug/Debug.hpp:38
void characteristics(uint32_t characteristics)
Definition debug/Debug.hpp:119
void accept(Visitor &visitor) const override
Debug(const details::pe_debug &debug_s)
uint32_t addressof_rawdata() const
Address of the debug data relative to the image base.
Definition debug/Debug.hpp:110
void pointerto_rawdata(uint32_t pointerto_rawdata)
Definition debug/Debug.hpp:143
uint32_t sizeof_data() const
Size of the debug data.
Definition debug/Debug.hpp:105
uint16_t major_version() const
The major version number of the debug data format.
Definition debug/Debug.hpp:90
void addressof_rawdata(uint32_t addressof_rawdata)
Definition debug/Debug.hpp:139
uint16_t minor_version() const
The minor version number of the debug data format.
Definition debug/Debug.hpp:95
uint32_t characteristics() const
Reserved should be 0.
Definition debug/Debug.hpp:80
void major_version(uint16_t major_version)
Definition debug/Debug.hpp:127
friend std::ostream & operator<<(std::ostream &os, const Debug &entry)
virtual std::unique_ptr< Debug > clone() const
Definition debug/Debug.hpp:75
void sizeof_data(uint32_t sizeof_data)
Definition debug/Debug.hpp:135
uint32_t pointerto_rawdata() const
File offset of the debug data.
Definition debug/Debug.hpp:115
Debug(const Debug &other)=default
uint32_t timestamp() const
The time and date when the debug data was created.
Definition debug/Debug.hpp:85
~Debug() override=default
void minor_version(uint16_t minor_version)
Definition debug/Debug.hpp:131
Debug & operator=(const Debug &other)=default
TYPES type() const
The format DEBUG_TYPES of the debugging information.
Definition debug/Debug.hpp:100
void timestamp(uint32_t timestamp)
Definition debug/Debug.hpp:123
Debug(TYPES type)
Definition debug/Debug.hpp:65
TYPES
The entry types.
Definition debug/Debug.hpp:44
Main interface to parse PE binaries. In particular the static functions: Parser::parse should be used...
Definition PE/Parser.hpp:47
Definition Visitor.hpp:224
const char * to_string(DataDirectory::TYPES e)
LIEF namespace.
Definition Abstract/Binary.hpp:32
#define LIEF_API
Definition visibility.h:41