1 #ifndef ROSE_BinaryAnalysis_Disassembler_Exception_H
2 #define ROSE_BinaryAnalysis_Disassembler_Exception_H
3 #include <featureTests.h>
4 #ifdef ROSE_ENABLE_BINARY_ANALYSIS
6 #include <Rose/Exception.h>
11 namespace BinaryAnalysis {
12 namespace Disassembler {
28 Exception(
const std::string &reason, rose_addr_t
ip,
const SgUnsignedCharList &raw_data,
size_t bit)
39 void print(std::ostream&)
const;
40 friend std::ostream& operator<<(std::ostream &o,
const Exception &e);
rose_addr_t ip
Virtual address where failure occurred; zero if no associated instruction.
Base class for machine instructions.
size_t bit
Bit offset in instruction byte sequence where disassembly failed (bit/8 is the index into the "bytes"...
SgAsmInstruction * insn
Instruction associated with an assembly error.
Main namespace for the ROSE library.
Exception(const std::string &reason, SgAsmInstruction *insn)
An exception bound to a particular instruction being assembled.
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)
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.
SgUnsignedCharList bytes
Bytes (partial) of failed disassembly, including byte at failure.
Exception thrown by the disassemblers.
Base class for all ROSE exceptions.