DynamoRIO
|
#include <memtrace_stream.h>

Public Member Functions | |
virtual | ~memtrace_stream_t () |
virtual uint64_t | get_record_ordinal () const =0 |
virtual uint64_t | get_instruction_ordinal () const =0 |
virtual std::string | get_stream_name () const =0 |
virtual uint64_t | get_last_timestamp () const =0 |
virtual uint64_t | get_version () const =0 |
virtual uint64_t | get_filetype () const =0 |
virtual uint64_t | get_cache_line_size () const =0 |
virtual uint64_t | get_chunk_instr_count () const =0 |
virtual uint64_t | get_page_size () const =0 |
virtual bool | is_record_synthetic () const |
Detailed Description
This is an interface for obtaining information from analysis tools on the full stream of memory reference records.
Constructor & Destructor Documentation
◆ ~memtrace_stream_t()
|
inlinevirtual |
Destructor.
Member Function Documentation
◆ get_cache_line_size()
|
pure virtual |
Returns the cache line size from the TRACE_MARKER_TYPE_CACHE_LINE_SIZE record in the trace header.
Implemented in dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::stream_t, dynamorio::drmemtrace::record_reader_t, default_memtrace_stream_t, and reader_t.
◆ get_chunk_instr_count()
|
pure virtual |
Returns the chunk instruction count from the TRACE_MARKER_TYPE_CHUNK_INSTR_COUNT record in the trace header.
Implemented in dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::stream_t, dynamorio::drmemtrace::record_reader_t, default_memtrace_stream_t, and reader_t.
◆ get_filetype()
|
pure virtual |
Returns the OFFLINE_FILE_TYPE_* bitfields of type offline_file_type_t identifying the architecture and other key high-level attributes of the trace from the TRACE_MARKER_TYPE_FILETYPE record in the trace header.
Implemented in dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::stream_t, dynamorio::drmemtrace::record_reader_t, default_memtrace_stream_t, and reader_t.
◆ get_instruction_ordinal()
|
pure virtual |
Returns the count of instructions from the start of the trace to this point. This includes instructions skipped over and not presented to any tool.
Implemented in dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::stream_t, dynamorio::drmemtrace::record_reader_t, default_memtrace_stream_t, and reader_t.
◆ get_last_timestamp()
|
pure virtual |
Returns the value of the last seen TRACE_MARKER_TYPE_TIMESTAMP marker.
Implemented in dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::stream_t, dynamorio::drmemtrace::record_reader_t, default_memtrace_stream_t, and reader_t.
◆ get_page_size()
|
pure virtual |
Returns the page size from the TRACE_MARKER_TYPE_PAGE_SIZE record in the trace header.
Implemented in dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::stream_t, dynamorio::drmemtrace::record_reader_t, default_memtrace_stream_t, and reader_t.
◆ get_record_ordinal()
|
pure virtual |
Returns the count of memref_t records from the start of the trace to this point. This includes records skipped over and not presented to any tool. It does not include synthetic records (see is_record_synthetic()).
Implemented in dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::stream_t, dynamorio::drmemtrace::record_reader_t, default_memtrace_stream_t, and reader_t.
◆ get_stream_name()
|
pure virtual |
Returns a name for the memtrace stream. For stored offline traces, this is the base name of the trace on disk. For online traces, this is the name of the pipe.
Implemented in dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::stream_t, dynamorio::drmemtrace::record_file_reader_t< T >, and default_memtrace_stream_t.
◆ get_version()
|
pure virtual |
Returns the trace_version_t value from the TRACE_MARKER_TYPE_VERSION record in the trace header.
Implemented in dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::stream_t, dynamorio::drmemtrace::record_reader_t, default_memtrace_stream_t, and reader_t.
◆ is_record_synthetic()
|
inlinevirtual |
Returns whether the current record was synthesized and inserted into the record stream and was not present in the original stream. This is true for timestamp and cpuid headers duplicated after skipping ahead, as well as cpuid markers inserted for synthetic schedules. Such records do not count toward the record count and get_record_ordinal() will return the value of the prior record.
Reimplemented in dynamorio::drmemtrace::scheduler_tmpl_t< RecordType, ReaderType >::stream_t, and reader_t.
The documentation for this class was generated from the following file:
- /home/runner/work/dynamorio/dynamorio/build_release-64/clients/include/drmemtrace/memtrace_stream.h