LLDB  mainline
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
lldb_private::Unwind Class Referenceabstract

#include <Unwind.h>

Inheritance diagram for lldb_private::Unwind:
Inheritance graph
[legend]
Collaboration diagram for lldb_private::Unwind:
Collaboration graph
[legend]

Public Member Functions

virtual ~Unwind ()
 
void Clear ()
 
uint32_t GetFrameCount ()
 
uint32_t GetFramesUpTo (uint32_t end_idx)
 
bool GetFrameInfoAtIndex (uint32_t frame_idx, lldb::addr_t &cfa, lldb::addr_t &pc)
 
lldb::RegisterContextSP CreateRegisterContextForFrame (StackFrame *frame)
 
ThreadGetThread ()
 

Protected Member Functions

 Unwind (Thread &thread)
 
virtual void DoClear ()=0
 
virtual uint32_t DoGetFrameCount ()=0
 
virtual bool DoGetFrameInfoAtIndex (uint32_t frame_idx, lldb::addr_t &cfa, lldb::addr_t &pc)=0
 
virtual lldb::RegisterContextSP DoCreateRegisterContextForFrame (StackFrame *frame)=0
 

Protected Attributes

Threadm_thread
 
std::recursive_mutex m_unwind_mutex
 

Detailed Description

Definition at line 18 of file Unwind.h.

Constructor & Destructor Documentation

◆ Unwind()

lldb_private::Unwind::Unwind ( Thread thread)
inlineprotected

Definition at line 21 of file Unwind.h.

◆ ~Unwind()

virtual lldb_private::Unwind::~Unwind ( )
inlinevirtual

Definition at line 24 of file Unwind.h.

Member Function Documentation

◆ Clear()

void lldb_private::Unwind::Clear ( )
inline

Definition at line 26 of file Unwind.h.

References DoClear(), and m_unwind_mutex.

Referenced by lldb_private::Thread::ClearStackFrames().

◆ CreateRegisterContextForFrame()

lldb::RegisterContextSP lldb_private::Unwind::CreateRegisterContextForFrame ( StackFrame frame)
inline

◆ DoClear()

virtual void lldb_private::Unwind::DoClear ( )
protectedpure virtual

◆ DoCreateRegisterContextForFrame()

virtual lldb::RegisterContextSP lldb_private::Unwind::DoCreateRegisterContextForFrame ( StackFrame frame)
protectedpure virtual

◆ DoGetFrameCount()

virtual uint32_t lldb_private::Unwind::DoGetFrameCount ( )
protectedpure virtual

◆ DoGetFrameInfoAtIndex()

virtual bool lldb_private::Unwind::DoGetFrameInfoAtIndex ( uint32_t  frame_idx,
lldb::addr_t cfa,
lldb::addr_t pc 
)
protectedpure virtual

◆ GetFrameCount()

uint32_t lldb_private::Unwind::GetFrameCount ( )
inline

◆ GetFrameInfoAtIndex()

bool lldb_private::Unwind::GetFrameInfoAtIndex ( uint32_t  frame_idx,
lldb::addr_t cfa,
lldb::addr_t pc 
)
inline

◆ GetFramesUpTo()

uint32_t lldb_private::Unwind::GetFramesUpTo ( uint32_t  end_idx)
inline

Definition at line 36 of file Unwind.h.

References DoGetFrameInfoAtIndex(), and pc.

Referenced by lldb_private::StackFrameList::GetOnlyConcreteFramesUpTo().

◆ GetThread()

Thread& lldb_private::Unwind::GetThread ( )
inline

Member Data Documentation

◆ m_thread

Thread& lldb_private::Unwind::m_thread
protected

◆ m_unwind_mutex

std::recursive_mutex lldb_private::Unwind::m_unwind_mutex
protected

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