maat::info::Info class

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.

❱   Base classes

class maat::serial::Serializable
Virtual interface that serializable classes must implement.

❱   Public functions

void reset()
Reset all current information.

auto class_uid() const -> uid_t virtual
Return the class uid (see ClassId enum)

void dump(serial::Serializer&) const virtual
Dump the object contents in a serializer stream.

void load(serial::Deserializer&) virtual
Restore an object from a deserializer stream.

❱   Public variables

info::Stop stop
Reason why the engine stopped.

std::optional<addr_t> addr
Address of the instruction where the engine stopped.

std::optional<Branch> branch
Info about branch operation.

std::optional<RegAccess> reg_access
Info about register access.

std::optional<MemAccess> mem_access
Info about memory access.

std::optional<Value> exit_status
Expression return as the process exit status at program exit.