9#ifndef LLDB_TARGET_TRACE_CURSOR_H
10#define LLDB_TARGET_TRACE_CURSOR_H
Execution context objects refer to objects in the execution of the program that is being debugged.
Class used for iterating over the instructions of a thread's trace, among other kinds of information.
const char * GetEventTypeAsString() const
static const char * EventKindToString(lldb::TraceEvent event_kind)
virtual lldb::TraceItemKind GetItemKind() const =0
Trace item information (instructions, errors and events)
bool IsInstruction() const
void SetForwards(bool forwards)
Set the direction to use in the TraceCursor::Next() method.
virtual bool Seek(int64_t offset, lldb::TraceCursorSeekType origin)=0
Make the cursor point to an item in the trace based on an origin point and an offset.
virtual bool GoToId(lldb::user_id_t id)=0
Instruction identifiers:
virtual void Next()=0
Move the cursor to the next item (instruction or error).
virtual lldb::addr_t GetLoadAddress() const =0
ExecutionContextRef m_exe_ctx_ref
virtual lldb::user_id_t GetId() const =0
ExecutionContextRef & GetExecutionContextRef()
virtual ~TraceCursor()=default
virtual bool HasValue() const =0
virtual lldb::cpu_id_t GetCPU() const =0
Get the CPU associated with the current trace item.
virtual std::optional< double > GetWallClockTime() const =0
Get the approximate wall clock time in nanoseconds at which the current trace item was executed.
virtual std::optional< uint64_t > GetHWClock() const =0
Get the last hardware clock value that was emitted before the current trace item.
virtual std::optional< std::string > GetSyncPointMetadata() const =0
Get some metadata associated with a synchronization point event.
virtual bool HasId(lldb::user_id_t id) const =0
virtual llvm::StringRef GetError() const =0
virtual lldb::TraceEvent GetEventType() const =0
bool IsForwards() const
Check if the direction to use in the TraceCursor::Next() method is forwards.
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::Thread > ThreadSP
TraceEvent
Events that might happen during a trace session.
TraceCursorSeekType
Enum to indicate the reference point when invoking TraceCursor::Seek().