LLDB mainline
lldb_private::Unwind Class Referenceabstract

#include <Unwind.h>

Inheritance diagram for lldb_private::Unwind:
[legend]

Public Member Functions

virtual ~Unwind ()=default
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, bool &behaves_like_zeroth_frame)
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, bool &behaves_like_zeroth_frame)=0
virtual lldb::RegisterContextSP DoCreateRegisterContextForFrame (StackFrame *frame)=0

Protected Attributes

Threadm_thread
std::recursive_mutex m_unwind_mutex

Private Member Functions

 Unwind (const Unwind &)=delete
const Unwindoperator= (const Unwind &)=delete

Detailed Description

Definition at line 18 of file Unwind.h.

Constructor & Destructor Documentation

◆ Unwind() [1/2]

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

◆ ~Unwind()

virtual lldb_private::Unwind::~Unwind ( )
virtualdefault

◆ Unwind() [2/2]

lldb_private::Unwind::Unwind ( const Unwind & )
privatedelete

References Unwind().

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()

◆ 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,
bool & behaves_like_zeroth_frame )
protectedpure virtual

◆ GetFrameCount()

uint32_t lldb_private::Unwind::GetFrameCount ( )
inline

Definition at line 31 of file Unwind.h.

References DoGetFrameCount(), and m_unwind_mutex.

◆ GetFrameInfoAtIndex()

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

Definition at line 50 of file Unwind.h.

References DoGetFrameInfoAtIndex(), m_unwind_mutex, and pc.

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

◆ 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::FetchOnlyConcreteFramesUpTo().

◆ GetThread()

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

Definition at line 61 of file Unwind.h.

References m_thread.

Referenced by lldb_private::wasm::UnwindWasm::DoGetFrameCount().

◆ operator=()

const Unwind & lldb_private::Unwind::operator= ( const Unwind & )
privatedelete

References Unwind().

Member Data Documentation

◆ m_thread

◆ m_unwind_mutex

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

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