ROSE 0.11.145.147
Public Member Functions | Public Attributes | List of all members
Rose::BinaryAnalysis::Disassembler::Exception Class Reference

Description

Exception thrown by the disassemblers.

Definition at line 19 of file Rose/BinaryAnalysis/Disassembler/Exception.h.

#include <Rose/BinaryAnalysis/Disassembler/Exception.h>

Inheritance diagram for Rose::BinaryAnalysis::Disassembler::Exception:
Inheritance graph
[legend]
Collaboration diagram for Rose::BinaryAnalysis::Disassembler::Exception:
Collaboration graph
[legend]

Public Member Functions

 Exception (const std::string &reason)
 A bare exception not bound to any particular instruction.
 
 Exception (const std::string &reason, rose_addr_t ip)
 An exception bound to a virtual address but no raw data or instruction.
 
 Exception (const std::string &reason, rose_addr_t ip, const SgUnsignedCharList &raw_data, size_t bit)
 An exception bound to a particular instruction being disassembled.
 
 Exception (const std::string &reason, SgAsmInstruction *)
 An exception bound to a particular instruction being assembled.
 
void print (std::ostream &) const
 
- Public Member Functions inherited from Rose::Exception
 Exception (const std::string &s)
 Construct an exception with an error message.
 

Public Attributes

rose_addr_t ip
 Virtual address where failure occurred; zero if no associated instruction.
 
SgUnsignedCharList bytes
 Bytes (partial) of failed disassembly, including byte at failure.
 
size_t bit
 Bit offset in instruction byte sequence where disassembly failed (bit/8 is the index into the "bytes" list, while bit%8 is the bit within that byte.
 
SgAsmInstructioninsn
 Instruction associated with an assembly error.
 

Constructor & Destructor Documentation

◆ Exception() [1/3]

Rose::BinaryAnalysis::Disassembler::Exception::Exception ( const std::string &  reason)
inline

A bare exception not bound to any particular instruction.

Definition at line 22 of file Rose/BinaryAnalysis/Disassembler/Exception.h.

◆ Exception() [2/3]

Rose::BinaryAnalysis::Disassembler::Exception::Exception ( const std::string &  reason,
rose_addr_t  ip 
)
inline

An exception bound to a virtual address but no raw data or instruction.

Definition at line 27 of file Rose/BinaryAnalysis/Disassembler/Exception.h.

◆ Exception() [3/3]

Rose::BinaryAnalysis::Disassembler::Exception::Exception ( const std::string &  reason,
rose_addr_t  ip,
const SgUnsignedCharList &  raw_data,
size_t  bit 
)
inline

An exception bound to a particular instruction being disassembled.

Definition at line 32 of file Rose/BinaryAnalysis/Disassembler/Exception.h.

◆ ~Exception()

Rose::BinaryAnalysis::Disassembler::Exception::~Exception ( )
throw (
)
inline

Definition at line 39 of file Rose/BinaryAnalysis/Disassembler/Exception.h.

Member Data Documentation

◆ ip

rose_addr_t Rose::BinaryAnalysis::Disassembler::Exception::ip

Virtual address where failure occurred; zero if no associated instruction.

Definition at line 44 of file Rose/BinaryAnalysis/Disassembler/Exception.h.

◆ bytes

SgUnsignedCharList Rose::BinaryAnalysis::Disassembler::Exception::bytes

Bytes (partial) of failed disassembly, including byte at failure.

Empty if the exception is not associated with a particular byte sequence, such as if an attempt was made to disassemble at an invalid address.

Definition at line 45 of file Rose/BinaryAnalysis/Disassembler/Exception.h.

◆ bit

size_t Rose::BinaryAnalysis::Disassembler::Exception::bit

Bit offset in instruction byte sequence where disassembly failed (bit/8 is the index into the "bytes" list, while bit%8 is the bit within that byte.

Definition at line 48 of file Rose/BinaryAnalysis/Disassembler/Exception.h.

◆ insn

SgAsmInstruction* Rose::BinaryAnalysis::Disassembler::Exception::insn

Instruction associated with an assembly error.

Definition at line 50 of file Rose/BinaryAnalysis/Disassembler/Exception.h.


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