Go to the documentation of this file.
9 #ifndef LLDB_TARGET_UNWINDLLDB_H
10 #define LLDB_TARGET_UNWINDLLDB_H
24 class RegisterContextUnwind;
77 bool &behaves_like_zeroth_frame)
override;
79 lldb::RegisterContextSP
94 uint32_t starting_frame_num,
bool pc_register);
159 #endif // LLDB_TARGET_UNWINDLLDB_H
const std::vector< ConstString > & GetUserSpecifiedTrapHandlerFunctionNames()
Provide the list of user-specified trap handler functions.
std::shared_ptr< Cursor > CursorSP
RegisterContextLLDBSP reg_ctx_lldb_sp
const Cursor & operator=(const Cursor &)=delete
~UnwindLLDB() override=default
CursorSP m_candidate_frame
CursorSP GetOneMoreFrame(ABI *abi)
std::vector< ConstString > m_user_supplied_trap_handler_functions
void UpdateUnwindPlanForFirstFrameIfInvalid(ABI *abi)
UnwindLLDB(lldb_private::Thread &thread)
@ eRegisterSavedAtHostMemoryLocation
std::shared_ptr< RegisterContextUnwind > RegisterContextLLDBSP
lldb_private::SymbolContext sctx
bool DoGetFrameInfoAtIndex(uint32_t frame_idx, lldb::addr_t &cfa, lldb::addr_t &start_pc, bool &behaves_like_zeroth_frame) override
uint32_t DoGetFrameCount() override
bool SearchForSavedLocationForRegister(uint32_t lldb_regnum, lldb_private::UnwindLLDB::RegisterLocation ®loc, uint32_t starting_frame_num, bool pc_register)
lldb::RegisterContextSP DoCreateRegisterContextForFrame(lldb_private::StackFrame *frame) override
union lldb_private::UnwindLLDB::RegisterLocation::@40 location
RegisterContextLLDBSP GetRegisterContextForFrameNum(uint32_t frame_num)
#define LLDB_INVALID_ADDRESS
bool AddOneMoreFrame(ABI *abi)
const UnwindLLDB & operator=(const UnwindLLDB &)=delete
A class that represents a running process on the host machine.
@ eRegisterInLiveRegisterContext
lldb::addr_t target_memory_location
@ eRegisterSavedAtMemoryLocation
std::vector< CursorSP > m_frames
void * host_memory_location