Base class for interacting with a tracee's memory in a variety of ways at a (relatively) high-level Functionally a data pipeline between the tracer and tracee.
More...
#include <memory_io_base.hpp>
Base class for interacting with a tracee's memory in a variety of ways at a (relatively) high-level Functionally a data pipeline between the tracer and tracee.
A precondition to essentially every operation performed by this class is that the tracee is stopped
◆ MemoryIOBase()
asmgrader::MemoryIOBase::MemoryIOBase |
( |
pid_t | pid | ) |
|
|
inlineexplicit |
◆ ~MemoryIOBase()
virtual asmgrader::MemoryIOBase::~MemoryIOBase |
( |
| ) |
|
|
virtualdefault |
◆ get_pid()
pid_t asmgrader::MemoryIOBase::get_pid |
( |
| ) |
const |
|
inline |
◆ read()
template<MemoryReadSupported T>
Result< T > asmgrader::MemoryIOBase::read |
( |
std::uintptr_t | address | ) |
|
|
inline |
◆ read_array() [1/2]
template<MemoryReadSupported T>
requires std::is_trivial_v<T>
Result< std::vector< T > > asmgrader::MemoryIOBase::read_array |
( |
std::uintptr_t | address, |
|
|
std::function< bool(const T &)> | until_predicate ) |
|
inline |
◆ read_array() [2/2]
template<MemoryReadSupported T>
requires std::is_trivial_v<T>
Result< std::vector< T > > asmgrader::MemoryIOBase::read_array |
( |
std::uintptr_t | address, |
|
|
std::size_t | size ) |
|
inline |
◆ read_bytes()
Result< ByteVector > asmgrader::MemoryIOBase::read_bytes |
( |
std::uintptr_t | address, |
|
|
std::size_t | length ) |
|
inline |
◆ read_deref_all()
template<MemoryReadSupported T>
◆ write()
template<MemoryWriteSupported T>
Result< std::size_t > asmgrader::MemoryIOBase::write |
( |
std::uintptr_t | address, |
|
|
const T & | data ) |
|
inline |
◆ MemoryIOSerde
The documentation for this class was generated from the following files: