dynamorio::drmemtrace::kernel_tracker_tmpl_t< RecordType > Class Template Reference

#include <kernel_tracker.h>

Public Member Functions

bool in_kernel_trace () const
 
bool in_syscall_trace () const
 
void update (const RecordType &record)
 

Detailed Description

template<typename RecordType>
class dynamorio::drmemtrace::kernel_tracker_tmpl_t< RecordType >

Utility class to track kernel state based on trace records. Handles nesting of hardware events and separate tracking of syscalls and context switches.

XXX: Add handling to properly recognize kernel regions if we land in the middle of one after a chunk skip, or if the trace itself starts in the middle of one.

RecordType is the type of trace record to process (e.g., memref_t or trace_entry_t).

Member Function Documentation

◆ in_kernel_trace()

template<typename RecordType >
bool dynamorio::drmemtrace::kernel_tracker_tmpl_t< RecordType >::in_kernel_trace ( ) const
inline

Returns whether the current point in the trace is inside a kernel region. Kernel regions include system calls, context switches, and hardware events such an interrupts.

◆ in_syscall_trace()

template<typename RecordType >
bool dynamorio::drmemtrace::kernel_tracker_tmpl_t< RecordType >::in_syscall_trace ( ) const
inline

Returns whether the current point in the trace is inside a system call trace region.

◆ update()

template<typename RecordType >
void dynamorio::drmemtrace::kernel_tracker_tmpl_t< RecordType >::update ( const RecordType &  record)
inline

Updates the kernel tracking state based on the provided trace record.


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