LLDB mainline
|
#include <HistoryUnwind.h>
Public Member Functions | |
HistoryUnwind (Thread &thread, std::vector< lldb::addr_t > pcs, bool pcs_are_call_addresses=false) | |
~HistoryUnwind () override | |
Public Member Functions inherited from lldb_private::Unwind | |
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 | |
void | DoClear () override |
lldb::RegisterContextSP | DoCreateRegisterContextForFrame (StackFrame *frame) override |
bool | DoGetFrameInfoAtIndex (uint32_t frame_idx, lldb::addr_t &cfa, lldb::addr_t &pc, bool &behaves_like_zeroth_frame) override |
uint32_t | DoGetFrameCount () override |
Protected Member Functions inherited from lldb_private::Unwind | |
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 |
Private Attributes | |
std::vector< lldb::addr_t > | m_pcs |
bool | m_pcs_are_call_addresses |
This boolean indicates that the PCs in the non-0 frames are call addresses and not return addresses. | |
Additional Inherited Members | |
Protected Attributes inherited from lldb_private::Unwind | |
Thread & | m_thread |
std::recursive_mutex | m_unwind_mutex |
Definition at line 19 of file HistoryUnwind.h.
HistoryUnwind::HistoryUnwind | ( | Thread & | thread, |
std::vector< lldb::addr_t > | pcs, | ||
bool | pcs_are_call_addresses = false |
||
) |
Definition at line 26 of file HistoryUnwind.cpp.
|
overridedefault |
|
overrideprotectedvirtual |
Implements lldb_private::Unwind.
Definition at line 35 of file HistoryUnwind.cpp.
References m_pcs, and lldb_private::Unwind::m_unwind_mutex.
|
overrideprotectedvirtual |
Implements lldb_private::Unwind.
Definition at line 41 of file HistoryUnwind.cpp.
References lldb_private::StackFrame::GetConcreteFrameIndex(), lldb_private::StackFrame::GetFrameCodeAddress(), lldb_private::Address::GetLoadAddress(), lldb_private::StackFrame::GetThread(), LLDB_INVALID_ADDRESS, and pc.
|
overrideprotectedvirtual |
|
overrideprotectedvirtual |
Implements lldb_private::Unwind.
Definition at line 55 of file HistoryUnwind.cpp.
References m_pcs, m_pcs_are_call_addresses, lldb_private::Unwind::m_unwind_mutex, and pc.
|
private |
Definition at line 38 of file HistoryUnwind.h.
Referenced by DoClear(), DoGetFrameCount(), and DoGetFrameInfoAtIndex().
|
private |
This boolean indicates that the PCs in the non-0 frames are call addresses and not return addresses.
Definition at line 41 of file HistoryUnwind.h.
Referenced by DoGetFrameInfoAtIndex().