17#ifndef LIEF_PE_DEBUG_H
18#define LIEF_PE_DEBUG_H
23#include "LIEF/Object.hpp"
24#include "LIEF/visibility.h"
62 EX_DLLCHARACTERISTICS = 20,
69 Debug(
const details::pe_debug& debug_s);
70 Debug(
const Debug& other) =
default;
71 Debug& operator=(
const Debug& other) =
default;
73 ~Debug()
override =
default;
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_;
119 void characteristics(uint32_t characteristics) {
120 characteristics_ = characteristics;
123 void timestamp(uint32_t timestamp) {
124 timestamp_ = timestamp;
127 void major_version(uint16_t major_version) {
128 major_version_ = major_version;
131 void minor_version(uint16_t minor_version) {
132 minor_version_ = minor_version;
135 void sizeof_data(uint32_t sizeof_data) {
136 sizeof_data_ = sizeof_data;
139 void addressof_rawdata(uint32_t addressof_rawdata) {
140 addressof_rawdata_ = addressof_rawdata;
143 void pointerto_rawdata(uint32_t pointerto_rawdata) {
144 pointerto_rawdata_ = pointerto_rawdata;
147 void accept(Visitor& visitor)
const override;
149 LIEF_API
friend std::ostream& operator<<(std::ostream& os,
const Debug& entry);
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
uint32_t addressof_rawdata() const
Address of the debug data relative to the image base.
Definition debug/Debug.hpp:110
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
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
uint32_t pointerto_rawdata() const
File offset of the debug data.
Definition debug/Debug.hpp:115
uint32_t timestamp() const
The time and date when the debug data was created.
Definition debug/Debug.hpp:85
TYPES type() const
The format DEBUG_TYPES of the debugging information.
Definition debug/Debug.hpp:100
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
LIEF namespace.
Definition Abstract/Binary.hpp:31