#include <memref.h>
Data Fields | |
trace_type_t | type |
memref_pid_t | pid |
memref_tid_t | tid |
addr_t | addr |
size_t | size |
unsigned char | encoding [MAX_ENCODING_LENGTH] |
bool | encoding_is_new |
addr_t | indirect_branch_target |
A trace entry representing an instruction fetch.
addr_t dynamorio::drmemtrace::_memref_instr_t::addr |
The address of the instruction (i.e., program counter).
unsigned char dynamorio::drmemtrace::_memref_instr_t::encoding[MAX_ENCODING_LENGTH] |
The instruction's raw encoding. This field is only valid when the file type (see TRACE_MARKER_TYPE_FILETYPE) has OFFLINE_FILE_TYPE_ENCODINGS set. DynamoRIO's decode_from_copy() (or any other decoding library) can be used to decode into a higher-level instruction representation.
bool dynamorio::drmemtrace::_memref_instr_t::encoding_is_new |
Indicates whether the encoding field is the first instance of its kind for this address. This can be used to determine when to invalidate cached decoding information. This field may be set to true on internal file divisions and not only when application code actually changed.
addr_t dynamorio::drmemtrace::_memref_instr_t::indirect_branch_target |
Valid only for an indirect branch instruction (types TRACE_TYPE_INSTR_INDIRECT_JUMP, TRACE_TYPE_INSTR_INDIRECT_CALL, and TRACE_TYPE_INSTR_RETURN). Holds the actual target of that branch. This is only present in trace version TRACE_ENTRY_VERSION_BRANCH_INFO and higher.
memref_pid_t dynamorio::drmemtrace::_memref_instr_t::pid |
Process id.
size_t dynamorio::drmemtrace::_memref_instr_t::size |
The length of the instruction.
memref_tid_t dynamorio::drmemtrace::_memref_instr_t::tid |
Thread id.
trace_type_t dynamorio::drmemtrace::_memref_instr_t::type |
Matches type_is_instr() or TRACE_TYPE_INSTR_NO_FETCH.