DynamoRIO
|
#include <decode_cache.h>

Protected Member Functions | |
decode_cache_base_t (unsigned int verbosity) | |
std::string | init_module_mapper (const std::string &module_file_path, const std::string &alt_module_dir) |
std::string | find_mapped_trace_address (app_pc trace_pc, app_pc &decode_pc) |
offline_file_type_t | build_arch_file_type () |
Protected Attributes | |
bool | use_module_mapper_ = false |
unsigned int | verbosity_ = 0 |
Private Member Functions | |
virtual std::string | make_module_mapper (const std::string &module_file_path, const std::string &alt_module_dir) |
Detailed Description
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.
Constructor & Destructor Documentation
◆ decode_cache_base_t()
|
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.
Member Function Documentation
◆ build_arch_file_type()
|
protected |
Returns the dynamorio::drmemtrace::offline_file_type_t arch bit that corresponds to the current build environment.
◆ find_mapped_trace_address()
|
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()
|
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.
◆ make_module_mapper()
|
privatevirtual |
Creates a module_mapper_t. This does not need to worry about races as the module_mapper_mutex_ will be acquired before calling.
Non-static to allow sub-classes to override. This is guaranteed to be invoked only when the count of existing dynamorio::drmemtrace::decode_cache_t instances that are initialized with a non-empty module_file_path is zero.
Returns the empty string on success, or an error message.
Reimplemented in dynamorio::drmemtrace::test_decode_cache_t< DecodeInfo >.
Field Documentation
◆ use_module_mapper_
|
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_
|
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