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>
8#include <Cxx_GrammarDeclarations.h>
9#include <sageContainer.h>
15namespace BinaryAnalysis {
16namespace Disassembler {
32 Exception(
const std::string &reason, rose_addr_t
ip,
const SgUnsignedCharList &raw_data,
size_t bit)
41 void print(std::ostream&)
const;
42 friend std::ostream& operator<<(std::ostream &o,
const Exception &e);
Exception thrown by the disassemblers.
Exception(const std::string &reason, SgAsmInstruction *)
An exception bound to a particular instruction being assembled.
Exception(const std::string &reason)
A bare exception not bound to any particular instruction.
size_t bit
Bit offset in instruction byte sequence where disassembly failed (bit/8 is the index into the "bytes"...
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.
SgAsmInstruction * insn
Instruction associated with an assembly error.
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.
rose_addr_t ip
Virtual address where failure occurred; zero if no associated instruction.
Base class for all ROSE exceptions.
Base class for machine instructions.