LLDB mainline
Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Types | Private Attributes | List of all members
lldb_private::AppleObjCTrampolineHandler::AppleObjCVTables Class Reference

Classes

struct  VTableDescriptor
 
class  VTableRegion
 

Public Types

enum  VTableFlags { eOBJC_TRAMPOLINE_MESSAGE = (1 << 0) , eOBJC_TRAMPOLINE_STRET = (1 << 1) , eOBJC_TRAMPOLINE_VTABLE = (1 << 2) }
 

Public Member Functions

 AppleObjCVTables (const lldb::ProcessSP &process_sp, const lldb::ModuleSP &objc_module_sp)
 
 ~AppleObjCVTables ()
 
bool InitializeVTableSymbols ()
 
bool ReadRegions ()
 
bool ReadRegions (lldb::addr_t region_addr)
 
bool IsAddressInVTables (lldb::addr_t addr, uint32_t &flags)
 
lldb::ProcessSP GetProcessSP ()
 

Static Public Member Functions

static bool RefreshTrampolines (void *baton, StoppointCallbackContext *context, lldb::user_id_t break_id, lldb::user_id_t break_loc_id)
 

Private Types

typedef std::vector< VTableRegionregion_collection
 

Private Attributes

lldb::ProcessWP m_process_wp
 
lldb::addr_t m_trampoline_header
 
lldb::break_id_t m_trampolines_changed_bp_id
 
region_collection m_regions
 
lldb::ModuleSP m_objc_module_sp
 

Detailed Description

Definition at line 69 of file AppleObjCTrampolineHandler.h.

Member Typedef Documentation

◆ region_collection

Definition at line 140 of file AppleObjCTrampolineHandler.h.

Member Enumeration Documentation

◆ VTableFlags

Enumerator
eOBJC_TRAMPOLINE_MESSAGE 
eOBJC_TRAMPOLINE_STRET 
eOBJC_TRAMPOLINE_VTABLE 

Definition at line 72 of file AppleObjCTrampolineHandler.h.

Constructor & Destructor Documentation

◆ AppleObjCVTables()

AppleObjCTrampolineHandler::AppleObjCVTables::AppleObjCVTables ( const lldb::ProcessSP process_sp,
const lldb::ModuleSP objc_module_sp 
)

Definition at line 329 of file AppleObjCTrampolineHandler.cpp.

References m_process_wp.

◆ ~AppleObjCVTables()

AppleObjCTrampolineHandler::AppleObjCVTables::~AppleObjCVTables ( )

Definition at line 338 of file AppleObjCTrampolineHandler.cpp.

References LLDB_INVALID_BREAK_ID.

Member Function Documentation

◆ GetProcessSP()

lldb::ProcessSP lldb_private::AppleObjCTrampolineHandler::AppleObjCVTables::GetProcessSP ( )
inline

Definition at line 136 of file AppleObjCTrampolineHandler.h.

References m_process_wp.

◆ InitializeVTableSymbols()

bool AppleObjCTrampolineHandler::AppleObjCVTables::InitializeVTableSymbols ( )

◆ IsAddressInVTables()

bool AppleObjCTrampolineHandler::AppleObjCVTables::IsAddressInVTables ( lldb::addr_t  addr,
uint32_t &  flags 
)

Definition at line 502 of file AppleObjCTrampolineHandler.cpp.

◆ ReadRegions() [1/2]

bool AppleObjCTrampolineHandler::AppleObjCVTables::ReadRegions ( )

Definition at line 453 of file AppleObjCTrampolineHandler.cpp.

References error().

Referenced by RefreshTrampolines().

◆ ReadRegions() [2/2]

bool AppleObjCTrampolineHandler::AppleObjCVTables::ReadRegions ( lldb::addr_t  region_addr)

◆ RefreshTrampolines()

bool AppleObjCTrampolineHandler::AppleObjCVTables::RefreshTrampolines ( void *  baton,
StoppointCallbackContext context,
lldb::user_id_t  break_id,
lldb::user_id_t  break_loc_id 
)
static

Member Data Documentation

◆ m_objc_module_sp

lldb::ModuleSP lldb_private::AppleObjCTrampolineHandler::AppleObjCVTables::m_objc_module_sp
private

Definition at line 144 of file AppleObjCTrampolineHandler.h.

◆ m_process_wp

lldb::ProcessWP lldb_private::AppleObjCTrampolineHandler::AppleObjCVTables::m_process_wp
private

Definition at line 139 of file AppleObjCTrampolineHandler.h.

Referenced by AppleObjCVTables(), and GetProcessSP().

◆ m_regions

region_collection lldb_private::AppleObjCTrampolineHandler::AppleObjCVTables::m_regions
private

Definition at line 143 of file AppleObjCTrampolineHandler.h.

◆ m_trampoline_header

lldb::addr_t lldb_private::AppleObjCTrampolineHandler::AppleObjCVTables::m_trampoline_header
private

Definition at line 141 of file AppleObjCTrampolineHandler.h.

◆ m_trampolines_changed_bp_id

lldb::break_id_t lldb_private::AppleObjCTrampolineHandler::AppleObjCVTables::m_trampolines_changed_bp_id
private

Definition at line 142 of file AppleObjCTrampolineHandler.h.


The documentation for this class was generated from the following files: