DynamoRIO
dynamorio::drmemtrace::_memref_instr_t Struct Reference

#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
 

Detailed Description

A trace entry representing an instruction fetch.

Field Documentation

◆ addr

addr_t dynamorio::drmemtrace::_memref_instr_t::addr

The address of the instruction (i.e., program counter).

◆ encoding

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.

◆ encoding_is_new

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.

◆ indirect_branch_target

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.

◆ pid

memref_pid_t dynamorio::drmemtrace::_memref_instr_t::pid

Process id.

◆ size

size_t dynamorio::drmemtrace::_memref_instr_t::size

The length of the instruction.

◆ tid

memref_tid_t dynamorio::drmemtrace::_memref_instr_t::tid

Thread id.

◆ type

trace_type_t dynamorio::drmemtrace::_memref_instr_t::type

The documentation for this struct was generated from the following file:
  • /home/runner/work/dynamorio/dynamorio/build_release-64/clients/include/drmemtrace/memref.h