16#ifndef LIEF_PE_DEBUG_CODE_VIEW_PDB_H
17#define LIEF_PE_DEBUG_CODE_VIEW_PDB_H
42 const details::pe_pdb_70& pdb_70);
52 uint32_t
age()
const {
66 void age(uint32_t age) {
75 filename_ = std::move(filename);
78 std::unique_ptr<Debug>
clone()
const override {
79 return std::unique_ptr<Debug>(
new CodeViewPDB(*
this));
83 if (!CodeView::classof(debug)) {
86 const auto& cv =
static_cast<const CodeView&
>(*debug);
88 return cv.
signature() == SIGNATURES::PDB_20 ||
89 cv.signature() == SIGNATURES::PDB_70;
100 std::string filename_;
Class that is used to rebuild a raw PE binary from a PE::Binary object.
Definition PE/Builder.hpp:45
CodeView PDB specialization.
Definition CodeViewPDB.hpp:34
CodeViewPDB & operator=(const CodeViewPDB &other)=default
std::string guid() const
The GUID signature to verify against the .pdb file signature. This attribute might be used to lookup ...
void age(uint32_t age)
Definition CodeViewPDB.hpp:66
void accept(Visitor &visitor) const override
std::array< uint8_t, 16 > signature_t
Definition CodeViewPDB.hpp:39
static bool classof(const Debug *debug)
Definition CodeViewPDB.hpp:82
CodeViewPDB(const CodeViewPDB &other)=default
const std::string & filename() const
The path to the .pdb file.
Definition CodeViewPDB.hpp:62
uint32_t age() const
Age value to verify. The age does not necessarily correspond to any known time value,...
Definition CodeViewPDB.hpp:52
friend std::ostream & operator<<(std::ostream &os, const CodeViewPDB &entry)
void signature(const signature_t &sig)
Definition CodeViewPDB.hpp:70
~CodeViewPDB() override=default
const signature_t & signature() const
The 32-bit signature to verify against the .pdb file signature.
Definition CodeViewPDB.hpp:57
void filename(std::string filename)
Definition CodeViewPDB.hpp:74
std::unique_ptr< Debug > clone() const override
Definition CodeViewPDB.hpp:78
CodeViewPDB(const details::pe_debug &debug_info, const details::pe_pdb_70 &pdb_70)
Interface for the (generic) Debug CodeView (IMAGE_DEBUG_TYPE_CODEVIEW)
Definition CodeView.hpp:26
SIGNATURES signature() const
The signature that defines the underlying type of the payload.
Definition CodeView.hpp:58
This class represents a generic entry in the debug data directory. For known types,...
Definition debug/Debug.hpp:38
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
LIEF namespace.
Definition Abstract/Binary.hpp:32
#define LIEF_API
Definition visibility.h:41