LLDB mainline
|
#include <PECallFrameInfo.h>
Public Member Functions | |
PECallFrameInfo (ObjectFilePECOFF &object_file, uint32_t exception_dir_rva, uint32_t exception_dir_size) | |
bool | GetAddressRange (lldb_private::Address addr, lldb_private::AddressRange &range) override |
bool | GetUnwindPlan (const lldb_private::Address &addr, lldb_private::UnwindPlan &unwind_plan) override |
bool | GetUnwindPlan (const lldb_private::AddressRange &range, lldb_private::UnwindPlan &unwind_plan) override |
Public Member Functions inherited from lldb_private::CallFrameInfo | |
virtual | ~CallFrameInfo ()=default |
virtual bool | GetAddressRange (Address addr, AddressRange &range)=0 |
virtual bool | GetUnwindPlan (const Address &addr, UnwindPlan &unwind_plan)=0 |
virtual bool | GetUnwindPlan (const AddressRange &range, UnwindPlan &unwind_plan)=0 |
Private Member Functions | |
const llvm::Win64EH::RuntimeFunction * | FindRuntimeFunctionIntersectsWithRange (const lldb_private::AddressRange &range) const |
Private Attributes | |
ObjectFilePECOFF & | m_object_file |
lldb_private::DataExtractor | m_exception_dir |
Definition at line 25 of file PECallFrameInfo.h.
|
explicit |
Definition at line 435 of file PECallFrameInfo.cpp.
|
private |
Definition at line 506 of file PECallFrameInfo.cpp.
References lldb_private::AddressRange::GetBaseAddress(), lldb_private::AddressRange::GetByteSize(), lldb_private::DataExtractor::GetByteSize(), ObjectFilePECOFF::GetRVA(), m_exception_dir, and m_object_file.
Referenced by GetAddressRange(), and GetUnwindPlan().
|
overridevirtual |
Implements lldb_private::CallFrameInfo.
Definition at line 442 of file PECallFrameInfo.cpp.
References lldb_private::AddressRange::Clear(), FindRuntimeFunctionIntersectsWithRange(), ObjectFilePECOFF::GetAddress(), lldb_private::AddressRange::GetBaseAddress(), m_object_file, and lldb_private::AddressRange::SetByteSize().
|
overridevirtual |
Implements lldb_private::CallFrameInfo.
Definition at line 458 of file PECallFrameInfo.cpp.
References GetUnwindPlan().
Referenced by GetUnwindPlan().
|
overridevirtual |
Implements lldb_private::CallFrameInfo.
Definition at line 463 of file PECallFrameInfo.cpp.
References lldb_private::UnwindPlan::AppendRow(), EHProgramBuilder::Build(), EHProgramRange::BuildUnwindPlanRow(), lldb_private::UnwindPlan::Clear(), lldb_private::eLazyBoolNo, lldb_private::eLazyBoolYes, lldb::eRegisterKindLLDB, FindRuntimeFunctionIntersectsWithRange(), ObjectFilePECOFF::GetAddress(), EHProgramBuilder::GetProgram(), m_object_file, lldb_private::UnwindPlan::SetPlanValidAddressRange(), lldb_private::UnwindPlan::SetRegisterKind(), lldb_private::UnwindPlan::SetSourcedFromCompiler(), lldb_private::UnwindPlan::SetSourceName(), lldb_private::UnwindPlan::SetUnwindPlanValidAtAllInstructions(), and UINT32_MAX.
|
private |
Definition at line 44 of file PECallFrameInfo.h.
Referenced by FindRuntimeFunctionIntersectsWithRange().
|
private |
Definition at line 43 of file PECallFrameInfo.h.
Referenced by FindRuntimeFunctionIntersectsWithRange(), GetAddressRange(), and GetUnwindPlan().