LLDB mainline
|
#include <Unwind.h>
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) |
Thread & | GetThread () |
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 | |
Thread & | m_thread |
std::recursive_mutex | m_unwind_mutex |
Private Member Functions | |
Unwind (const Unwind &)=delete | |
const Unwind & | operator= (const Unwind &)=delete |
|
inlineprotected |
|
virtualdefault |
|
privatedelete |
|
inline |
Definition at line 26 of file Unwind.h.
References DoClear(), and m_unwind_mutex.
Referenced by lldb_private::Thread::ClearStackFrames().
|
inline |
Definition at line 56 of file Unwind.h.
References DoCreateRegisterContextForFrame(), and m_unwind_mutex.
Referenced by ThreadElfCore::CreateRegisterContextForFrame(), ThreadFreeBSDKernel::CreateRegisterContextForFrame(), ThreadMachCore::CreateRegisterContextForFrame(), ThreadKDP::CreateRegisterContextForFrame(), lldb_private::ScriptedThread::CreateRegisterContextForFrame(), ThreadMemory::CreateRegisterContextForFrame(), lldb_private::process_gdb_remote::ThreadGDBRemote::CreateRegisterContextForFrame(), and lldb_private::TargetThreadWindows::CreateRegisterContextForFrame().
|
protectedpure virtual |
Implemented in lldb_private::UnwindLLDB, and lldb_private::HistoryUnwind.
Referenced by Clear().
|
protectedpure virtual |
Implemented in lldb_private::UnwindLLDB, and lldb_private::HistoryUnwind.
Referenced by CreateRegisterContextForFrame().
|
protectedpure virtual |
Implemented in lldb_private::UnwindLLDB, and lldb_private::HistoryUnwind.
Referenced by GetFrameCount().
|
protectedpure virtual |
Implemented in lldb_private::HistoryUnwind, and lldb_private::UnwindLLDB.
Referenced by GetFrameInfoAtIndex(), and GetFramesUpTo().
|
inline |
Definition at line 31 of file Unwind.h.
References DoGetFrameCount(), and m_unwind_mutex.
|
inline |
Definition at line 50 of file Unwind.h.
References DoGetFrameInfoAtIndex(), m_unwind_mutex, and pc.
Referenced by lldb_private::StackFrameList::FetchFramesUpTo().
|
inline |
Definition at line 36 of file Unwind.h.
References DoGetFrameInfoAtIndex(), and pc.
Referenced by lldb_private::StackFrameList::FetchOnlyConcreteFramesUpTo().
|
inline |
|
protected |
Definition at line 76 of file Unwind.h.
Referenced by lldb_private::UnwindLLDB::AddFirstFrame(), lldb_private::UnwindLLDB::AddOneMoreFrame(), lldb_private::UnwindLLDB::DoCreateRegisterContextForFrame(), lldb_private::UnwindLLDB::DoGetFrameCount(), lldb_private::UnwindLLDB::DoGetFrameInfoAtIndex(), lldb_private::UnwindLLDB::GetOneMoreFrame(), and GetThread().
|
protected |
Definition at line 77 of file Unwind.h.
Referenced by Clear(), CreateRegisterContextForFrame(), lldb_private::HistoryUnwind::DoClear(), lldb_private::HistoryUnwind::DoGetFrameInfoAtIndex(), GetFrameCount(), and GetFrameInfoAtIndex().