|
DynamoRIO
|
#include <kernel_filter.h>
Public Member Functions | |
| void * | parallel_shard_init (memtrace_stream_t *shard_stream, bool partial_trace_filter) override |
| bool | parallel_shard_filter (trace_entry_t &entry, void *shard_data, record_filter_t::record_filter_info_t &record_filter_info) override |
| bool | parallel_shard_exit (void *shard_data) override |
| uint64_t | update_filetype (uint64_t filetype) override |
Public Member Functions inherited from dynamorio::drmemtrace::record_filter_t::record_filter_func_t | |
| std::string | get_error_string () |
Detailed Description
Removes all entries between and including the pairs of markers representing kernel execution: for syscalls (TRACE_MARKER_TYPE_SYSCALL_TRACE_START and TRACE_MARKER_TYPE_SYSCALL_TRACE_END), context switches (TRACE_MARKER_TYPE_CONTEXT_SWITCH_START and TRACE_MARKER_TYPE_CONTEXT_SWITCH_END), and hardware events (TRACE_MARKER_TYPE_HARDWARE_EVENT and TRACE_MARKER_TYPE_HARDWARE_CONTEXT_RETURN). If keep_syscalls is true, removes kernel execution entries except system call entries (including the other kernel execution nested within it).
Member Function Documentation
◆ parallel_shard_exit()
|
inlineoverridevirtual |
Invoked when all trace_entry_t in a shard have been processed by parallel_shard_filter(). shard_data is same as what was returned by parallel_shard_init().
Implements dynamorio::drmemtrace::record_filter_t::record_filter_func_t.
◆ parallel_shard_filter()
|
inlineoverridevirtual |
Invoked for each trace_entry_t in the shard. It returns whether or not this entry should be included in the result trace. shard_data is same as what was returned by parallel_shard_init(). The given entry is included in the result trace iff all provided dynamorio::drmemtrace::record_filter_t::record_filter_func_t return true. The entry parameter can also be modified by the record_filter_func_t. The passed entry is not guaranteed to be the original one from the trace if other filter tools are present, and may include changes made by other tools. An error is indicated by setting error_string_ to a non-empty value. record_filter_info is the interface used by record_filter to share data with its filters.
Implements dynamorio::drmemtrace::record_filter_t::record_filter_func_t.
◆ parallel_shard_init()
|
inlineoverridevirtual |
Invoked for each shard prior to calling parallel_shard_filter() on any entry. The returned pointer is passed to all invocations of parallel_shard_filter() and parallel_shard_exit(). This routine can be used to initialize state for each shard. partial_trace_filter denotes whether the trace will be filtered only partially, e.g. due to stop_timestamp.
Implements dynamorio::drmemtrace::record_filter_t::record_filter_func_t.
◆ update_filetype()
|
inlineoverridevirtual |
If a filter modifies the file type of a trace, its changes should be made here, so they are visible to the record_filter even if the trace_entry_t containing the file type marker is not modified directly by the filter.
Reimplemented from dynamorio::drmemtrace::record_filter_t::record_filter_func_t.
The documentation for this class was generated from the following file:
- /home/runner/work/dynamorio/dynamorio/build_release-64/clients/include/drmemtrace/kernel_filter.h
Public Member Functions inherited from