LLDB  mainline
Public Member Functions | Private Attributes | List of all members
lldb_private::trace_intel_pt::DecodedThread Class Reference

#include <DecodedThread.h>

Inheritance diagram for lldb_private::trace_intel_pt::DecodedThread:
Inheritance graph
[legend]
Collaboration diagram for lldb_private::trace_intel_pt::DecodedThread:
Collaboration graph
[legend]

Public Member Functions

 DecodedThread (lldb::ThreadSP thread_sp, std::vector< IntelPTInstruction > &&instructions, size_t raw_trace_size)
 
 DecodedThread (lldb::ThreadSP thread_sp, llvm::Error error)
 Constructor with a single error signaling a complete failure of the decoding process. More...
 
llvm::ArrayRef< IntelPTInstructionGetInstructions () const
 Get the instructions from the decoded trace. More...
 
lldb::TraceCursorUP GetCursor ()
 Get a new cursor for the decoded thread. More...
 
size_t GetRawTraceSize () const
 Get the size in bytes of the corresponding Intel PT raw trace. More...
 

Private Attributes

lldb::ThreadSP m_thread_sp
 
std::vector< IntelPTInstructionm_instructions
 
size_t m_raw_trace_size
 

Detailed Description

Class holding the instructions and function call hierarchy obtained from decoding a trace, as well as a position cursor used when reverse debugging the trace.

Each decoded thread contains a cursor to the current position the user is stopped at. See Trace::GetCursorPosition for more information.

Definition at line 127 of file DecodedThread.h.

Constructor & Destructor Documentation

◆ DecodedThread() [1/2]

lldb_private::trace_intel_pt::DecodedThread::DecodedThread ( lldb::ThreadSP  thread_sp,
std::vector< IntelPTInstruction > &&  instructions,
size_t  raw_trace_size 
)

◆ DecodedThread() [2/2]

lldb_private::trace_intel_pt::DecodedThread::DecodedThread ( lldb::ThreadSP  thread_sp,
llvm::Error  error 
)

Constructor with a single error signaling a complete failure of the decoding process.

Member Function Documentation

◆ GetCursor()

lldb::TraceCursorUP DecodedThread::GetCursor ( )

Get a new cursor for the decoded thread.

Definition at line 116 of file DecodedThread.cpp.

References m_thread_sp.

◆ GetInstructions()

ArrayRef< IntelPTInstruction > DecodedThread::GetInstructions ( ) const

Get the instructions from the decoded trace.

Some of them might indicate errors (i.e. gaps) in the trace.

Returns
The instructions of the trace.

Definition at line 97 of file DecodedThread.cpp.

References m_instructions.

◆ GetRawTraceSize()

size_t DecodedThread::GetRawTraceSize ( ) const

Get the size in bytes of the corresponding Intel PT raw trace.

Returns
The size of the trace.

Definition at line 64 of file DecodedThread.cpp.

References m_raw_trace_size.

Member Data Documentation

◆ m_instructions

std::vector<IntelPTInstruction> lldb_private::trace_intel_pt::DecodedThread::m_instructions
private

Definition at line 155 of file DecodedThread.h.

Referenced by GetInstructions().

◆ m_raw_trace_size

size_t lldb_private::trace_intel_pt::DecodedThread::m_raw_trace_size
private

Definition at line 156 of file DecodedThread.h.

Referenced by GetRawTraceSize().

◆ m_thread_sp

lldb::ThreadSP lldb_private::trace_intel_pt::DecodedThread::m_thread_sp
private

Definition at line 154 of file DecodedThread.h.

Referenced by GetCursor().


The documentation for this class was generated from the following files: