DynamoRIO
|
#include <memref.h>
Data Fields | |
struct _memref_data_t | data |
struct _memref_instr_t | instr |
struct _memref_flush_t | flush |
struct _memref_thread_exit_t | exit |
struct _memref_marker_t | marker |
Detailed Description
Each trace entry is one of the structures in this union. Each entry identifies the originating process and thread. Although the pc of each data reference is provided, the trace also guarantees that an instruction entry immediately precedes the data references that it is responsible for, with no intervening trace entries (unless it is a trace filtered with an online first-level cache). Offline traces further guarantee that an instruction entry for a branch instruction is always followed by an instruction entry for the branch's target (with any memory references for the branch in between of course) without a thread switch intervening, to make it simpler to identify branch targets (again, unless the trace is filtered by an online first-level cache). Online traces do not currently guarantee this.
Field Documentation
◆ data
struct _memref_data_t dynamorio::drmemtrace::_memref_t::data |
A data load or store.
◆ exit
struct _memref_thread_exit_t dynamorio::drmemtrace::_memref_t::exit |
A thread exit.
◆ flush
struct _memref_flush_t dynamorio::drmemtrace::_memref_t::flush |
A software-initiated cache flush.
◆ instr
struct _memref_instr_t dynamorio::drmemtrace::_memref_t::instr |
An instruction fetch.
◆ marker
struct _memref_marker_t dynamorio::drmemtrace::_memref_t::marker |
A marker holding metadata.
The documentation for this union was generated from the following file:
- /home/runner/work/dynamorio/dynamorio/build_release-64/clients/include/drmemtrace/memref.h