#include <decode_cache.h>
Base class for dynamorio::drmemtrace::decode_cache_t.
This is used to allow sharing the static data members among all template instances of dynamorio::drmemtrace::decode_cache_t.
◆ decode_cache_base_t()
dynamorio::drmemtrace::decode_cache_base_t::decode_cache_base_t |
( |
unsigned int |
verbosity | ) |
|
|
protected |
Constructor for the base class, intentionally declared as protected so decode_cache_base_t cannot be instantiated directly but only via a derived class.
◆ build_arch_file_type()
◆ find_mapped_trace_address()
std::string dynamorio::drmemtrace::decode_cache_base_t::find_mapped_trace_address |
( |
app_pc |
trace_pc, |
|
|
app_pc & |
decode_pc |
|
) |
| |
|
protected |
Returns in the decode_pc
reference parameter the address where the encoding for the instruction at trace_pc
can be found.
Returns the empty string on success, or an error message.
◆ init_module_mapper()
std::string dynamorio::drmemtrace::decode_cache_base_t::init_module_mapper |
( |
const std::string & |
module_file_path, |
|
|
const std::string & |
alt_module_dir |
|
) |
| |
|
protected |
Initializes the module_mapper_ object using make_module_mapper() and performs other bookkeeping and prerequisites.
Returns the empty string on success, or an error message.
◆ use_module_mapper_
bool dynamorio::drmemtrace::decode_cache_base_t::use_module_mapper_ = false |
|
protected |
use_module_mapper_ describes whether we lookup the instr encodings from the module map, or alternatively from embedded-encodings in the trace.
Note that we store our instr encoding lookup strategy as a non-static data member, unlike module_mapper_t which is static and shared between all dynamorio::drmemtrace::decode_cache_t instances (even of different template types). Some analysis tools may deliberately want to look at instr encodings from the module mappings, but that strategy does not provide JIT encodings which are present only as embedded-encodings in the trace. In such a case, other concurrently running analysis tools should still be able to see encodings for JIT code.
◆ verbosity_
unsigned int dynamorio::drmemtrace::decode_cache_base_t::verbosity_ = 0 |
|
protected |
Verbosity level for logs.
The documentation for this class was generated from the following file:
- /home/runner/work/dynamorio/dynamorio/build_release-64/clients/include/drmemtrace/decode_cache.h