maat::info namespace

Namespace regrouping classes and types used by the engine to provide various information to the user.

Contents

❱   Classes

struct Branch
Struct holding information about a regular or conditional branch operation.

class Info
This class is used by the engine to make relevant information easily available to the user when it stops executing emulated code. The accessible information depends on the reason why the engine stopped. For instance if the engine encountered a breakpoint, the class will hold breakpoint related info, e.g register/memory that was read/written, path constraints that was encountered, etc.

struct MemAccess
Struct holding information about a memory access.

struct RegAccess
Struct holding information about a register access.

❱   Enums

enum class Stop { HOOK, SYMBOLIC_PC, SYMBOLIC_CODE, MISSING_FUNCTION, MISSING_SYSCALL, EXIT, INST_COUNT, ILLEGAL_INST, UNSUPPORTED_INST, ARITHMETIC_ERROR, ERROR, FATAL, NONE }

❱   Functions

auto operator<<(std::ostream& os, const MemAccess& mem_access) -> std::ostream&
Print memory access info to a stream.

auto operator<<(std::ostream& os, const Branch& branch) -> std::ostream&
Print branch info to a stream.