LIEF: Library to Instrument Executable Formats Version 0.17.0
Loading...
Searching...
No Matches
LIEF::PE::ExceptionInfo Class Referenceabstract

This class is the base class for any exception or runtime function entry. More...

#include <ExceptionInfo.hpp>

Inheritance diagram for LIEF::PE::ExceptionInfo:

Public Types

enum class  ARCH { UNKNOWN = 0 , ARM64 , X86_64 }
 Arch discriminator for the subclasses. More...
 

Public Member Functions

 ExceptionInfo ()=delete
 
 ExceptionInfo (const ExceptionInfo &)=default
 
ExceptionInfooperator= (const ExceptionInfo &)=default
 
 ExceptionInfo (ExceptionInfo &&)=default
 
ExceptionInfooperator= (ExceptionInfo &&)=default
 
virtual std::unique_ptr< ExceptionInfoclone () const =0
 
 ExceptionInfo (ARCH arch, uint64_t rva)
 
 ExceptionInfo (ARCH arch)
 
ARCH arch () const
 Target architecture of this exception.
 
uint32_t rva_start () const
 Function start address.
 
virtual std::string to_string () const =0
 
virtual ~ExceptionInfo ()=default
 
template<class T >
Tas ()
 Helper to downcast an ExceptionInfo into a concrete implementation.
 
template<class T >
const Tas () const
 

Static Public Member Functions

static std::unique_ptr< ExceptionInfoparse (Parser &ctx, BinaryStream &strm)
 
static std::unique_ptr< ExceptionInfoparse (Parser &ctx, BinaryStream &strm, Header::MACHINE_TYPES arch)
 

Detailed Description

This class is the base class for any exception or runtime function entry.

Member Enumeration Documentation

◆ ARCH

enum class LIEF::PE::ExceptionInfo::ARCH
strong

Arch discriminator for the subclasses.

Enumerator
UNKNOWN 
ARM64 
X86_64 

Constructor & Destructor Documentation

◆ ExceptionInfo() [1/5]

LIEF::PE::ExceptionInfo::ExceptionInfo ( )
delete

◆ ExceptionInfo() [2/5]

LIEF::PE::ExceptionInfo::ExceptionInfo ( const ExceptionInfo & )
default

◆ ExceptionInfo() [3/5]

LIEF::PE::ExceptionInfo::ExceptionInfo ( ExceptionInfo && )
default

◆ ExceptionInfo() [4/5]

LIEF::PE::ExceptionInfo::ExceptionInfo ( ARCH arch,
uint64_t rva )
inline

◆ ExceptionInfo() [5/5]

LIEF::PE::ExceptionInfo::ExceptionInfo ( ARCH arch)
inline

◆ ~ExceptionInfo()

virtual LIEF::PE::ExceptionInfo::~ExceptionInfo ( )
virtualdefault

Member Function Documentation

◆ arch()

ARCH LIEF::PE::ExceptionInfo::arch ( ) const
inline

Target architecture of this exception.

◆ as() [1/2]

template<class T >
T * LIEF::PE::ExceptionInfo::as ( )
inline

Helper to downcast an ExceptionInfo into a concrete implementation.

References LIEF::PE::T.

◆ as() [2/2]

template<class T >
const T * LIEF::PE::ExceptionInfo::as ( ) const
inline

References LIEF::PE::T.

◆ clone()

virtual std::unique_ptr< ExceptionInfo > LIEF::PE::ExceptionInfo::clone ( ) const
pure virtual

◆ operator=() [1/2]

ExceptionInfo & LIEF::PE::ExceptionInfo::operator= ( const ExceptionInfo & )
default

◆ operator=() [2/2]

ExceptionInfo & LIEF::PE::ExceptionInfo::operator= ( ExceptionInfo && )
default

◆ parse() [1/2]

static std::unique_ptr< ExceptionInfo > LIEF::PE::ExceptionInfo::parse ( Parser & ctx,
BinaryStream & strm )
static

◆ parse() [2/2]

static std::unique_ptr< ExceptionInfo > LIEF::PE::ExceptionInfo::parse ( Parser & ctx,
BinaryStream & strm,
Header::MACHINE_TYPES arch )
static

◆ rva_start()

uint32_t LIEF::PE::ExceptionInfo::rva_start ( ) const
inline

Function start address.

◆ to_string()

virtual std::string LIEF::PE::ExceptionInfo::to_string ( ) const
pure virtual

The documentation for this class was generated from the following file: