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