9#ifndef LLDB_TARGET_UNWINDLLDB_H
10#define LLDB_TARGET_UNWINDLLDB_H
24class RegisterContextUnwind;
77 bool &behaves_like_zeroth_frame)
override;
94 uint32_t starting_frame_num,
bool pc_register);
This base class provides an interface to stack frames.
Defines a symbol context baton that can be handed other debug core functions.
void UpdateUnwindPlanForFirstFrameIfInvalid(ABI *abi)
std::vector< ConstString > m_user_supplied_trap_handler_functions
std::vector< CursorSP > m_frames
const std::vector< ConstString > & GetUserSpecifiedTrapHandlerFunctionNames()
Provide the list of user-specified trap handler functions.
RegisterContextLLDBSP GetRegisterContextForFrameNum(uint32_t frame_num)
lldb::RegisterContextSP DoCreateRegisterContextForFrame(lldb_private::StackFrame *frame) override
CursorSP m_candidate_frame
std::shared_ptr< Cursor > CursorSP
bool AddOneMoreFrame(ABI *abi)
CursorSP GetOneMoreFrame(ABI *abi)
UnwindLLDB(const UnwindLLDB &)=delete
std::shared_ptr< RegisterContextUnwind > RegisterContextLLDBSP
const UnwindLLDB & operator=(const UnwindLLDB &)=delete
bool DoGetFrameInfoAtIndex(uint32_t frame_idx, lldb::addr_t &cfa, lldb::addr_t &start_pc, bool &behaves_like_zeroth_frame) override
bool SearchForSavedLocationForRegister(uint32_t lldb_regnum, lldb_private::UnwindLLDB::RegisterLocation ®loc, uint32_t starting_frame_num, bool pc_register)
~UnwindLLDB() override=default
uint32_t DoGetFrameCount() override
#define LLDB_INVALID_ADDRESS
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::RegisterContext > RegisterContextSP
RegisterContextLLDBSP reg_ctx_lldb_sp
Cursor(const Cursor &)=delete
const Cursor & operator=(const Cursor &)=delete
lldb_private::SymbolContext sctx
@ eRegisterInLiveRegisterContext
@ eRegisterSavedAtHostMemoryLocation
@ eRegisterSavedAtMemoryLocation
void * host_memory_location
lldb::addr_t target_memory_location
union lldb_private::UnwindLLDB::RegisterLocation::@37 location