LLDB mainline
Public Member Functions | List of all members
lldb_private::process_linux::IntelPTProcessTrace Class Referenceabstract

Interface to be implemented by each 'process trace' strategy (per cpu, per thread, etc). More...

#include <IntelPTProcessTrace.h>

Inheritance diagram for lldb_private::process_linux::IntelPTProcessTrace:
Inheritance graph
[legend]

Public Member Functions

virtual ~IntelPTProcessTrace ()=default
 
virtual void ProcessDidStop ()
 
virtual void ProcessWillResume ()
 
virtual TraceIntelPTGetStateResponse GetState ()=0
 Construct a minimal jLLDBTraceGetState response for this process trace.
 
virtual bool TracesThread (lldb::tid_t tid) const =0
 
virtual llvm::Error TraceStart (lldb::tid_t tid)=0
 Start tracing the thread given by its tid.
 
virtual llvm::Error TraceStop (lldb::tid_t tid)=0
 Stop tracing the thread given by its tid.
 
virtual llvm::Expected< std::optional< std::vector< uint8_t > > > TryGetBinaryData (const TraceGetBinaryDataRequest &request)=0
 

Detailed Description

Interface to be implemented by each 'process trace' strategy (per cpu, per thread, etc).

Definition at line 21 of file IntelPTProcessTrace.h.

Constructor & Destructor Documentation

◆ ~IntelPTProcessTrace()

virtual lldb_private::process_linux::IntelPTProcessTrace::~IntelPTProcessTrace ( )
virtualdefault

Member Function Documentation

◆ GetState()

virtual TraceIntelPTGetStateResponse lldb_private::process_linux::IntelPTProcessTrace::GetState ( )
pure virtual

Construct a minimal jLLDBTraceGetState response for this process trace.

Implemented in lldb_private::process_linux::IntelPTMultiCoreTrace, and lldb_private::process_linux::IntelPTPerThreadProcessTrace.

◆ ProcessDidStop()

virtual void lldb_private::process_linux::IntelPTProcessTrace::ProcessDidStop ( )
inlinevirtual

Reimplemented in lldb_private::process_linux::IntelPTMultiCoreTrace.

Definition at line 25 of file IntelPTProcessTrace.h.

◆ ProcessWillResume()

virtual void lldb_private::process_linux::IntelPTProcessTrace::ProcessWillResume ( )
inlinevirtual

Reimplemented in lldb_private::process_linux::IntelPTMultiCoreTrace.

Definition at line 27 of file IntelPTProcessTrace.h.

◆ TraceStart()

virtual llvm::Error lldb_private::process_linux::IntelPTProcessTrace::TraceStart ( lldb::tid_t  tid)
pure virtual

Start tracing the thread given by its tid.

Returns
An error if the operation failed.

Implemented in lldb_private::process_linux::IntelPTMultiCoreTrace, and lldb_private::process_linux::IntelPTPerThreadProcessTrace.

◆ TracesThread()

virtual bool lldb_private::process_linux::IntelPTProcessTrace::TracesThread ( lldb::tid_t  tid) const
pure virtual

◆ TraceStop()

virtual llvm::Error lldb_private::process_linux::IntelPTProcessTrace::TraceStop ( lldb::tid_t  tid)
pure virtual

Stop tracing the thread given by its tid.

Returns
An error if the given thread is not being traced or tracing couldn't be stopped.

Implemented in lldb_private::process_linux::IntelPTMultiCoreTrace, and lldb_private::process_linux::IntelPTPerThreadProcessTrace.

◆ TryGetBinaryData()

virtual llvm::Expected< std::optional< std::vector< uint8_t > > > lldb_private::process_linux::IntelPTProcessTrace::TryGetBinaryData ( const TraceGetBinaryDataRequest request)
pure virtual
Returns
std::nullopt if this instance doesn't support the requested data, an llvm::Error if this isntance supports it but fails at fetching it, and Error::success() otherwise.

Implemented in lldb_private::process_linux::IntelPTMultiCoreTrace, and lldb_private::process_linux::IntelPTPerThreadProcessTrace.


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