LLDB  mainline
Public Member Functions | Protected Attributes | List of all members
POSIXBreakpointProtocol Class Referenceabstract

Extends RegisterClass with a few virtual operations useful on POSIX. More...

#include <RegisterContextPOSIX.h>

Inheritance diagram for POSIXBreakpointProtocol:
Inheritance graph
[legend]
Collaboration diagram for POSIXBreakpointProtocol:
Collaboration graph
[legend]

Public Member Functions

 POSIXBreakpointProtocol ()
 
virtual ~POSIXBreakpointProtocol ()
 
virtual bool UpdateAfterBreakpoint ()=0
 Updates the register state of the associated thread after hitting a breakpoint (if that make sense for the architecture). More...
 
virtual unsigned GetRegisterIndexFromOffset (unsigned offset)=0
 Determines the index in lldb's register file given a kernel byte offset. More...
 
virtual bool IsWatchpointHit (uint32_t hw_index)=0
 
virtual bool ClearWatchpointHits ()=0
 
virtual lldb::addr_t GetWatchpointAddress (uint32_t hw_index)=0
 
virtual bool IsWatchpointVacant (uint32_t hw_index)=0
 
virtual bool SetHardwareWatchpointWithIndex (lldb::addr_t addr, size_t size, bool read, bool write, uint32_t hw_index)=0
 
virtual uint32_t NumSupportedHardwareWatchpoints ()=0
 
void ForceWatchpointsInitialized ()
 

Protected Attributes

bool m_watchpoints_initialized
 

Detailed Description

Extends RegisterClass with a few virtual operations useful on POSIX.

Definition at line 19 of file RegisterContextPOSIX.h.

Constructor & Destructor Documentation

◆ POSIXBreakpointProtocol()

POSIXBreakpointProtocol::POSIXBreakpointProtocol ( )
inline

Definition at line 21 of file RegisterContextPOSIX.h.

References m_watchpoints_initialized.

◆ ~POSIXBreakpointProtocol()

virtual POSIXBreakpointProtocol::~POSIXBreakpointProtocol ( )
inlinevirtual

Member Function Documentation

◆ ClearWatchpointHits()

virtual bool POSIXBreakpointProtocol::ClearWatchpointHits ( )
pure virtual

◆ ForceWatchpointsInitialized()

void POSIXBreakpointProtocol::ForceWatchpointsInitialized ( )
inline

Definition at line 57 of file RegisterContextPOSIX.h.

References m_watchpoints_initialized.

Referenced by FreeBSDThread::FreeBSDThread().

◆ GetRegisterIndexFromOffset()

virtual unsigned POSIXBreakpointProtocol::GetRegisterIndexFromOffset ( unsigned  offset)
pure virtual

◆ GetWatchpointAddress()

virtual lldb::addr_t POSIXBreakpointProtocol::GetWatchpointAddress ( uint32_t  hw_index)
pure virtual

◆ IsWatchpointHit()

virtual bool POSIXBreakpointProtocol::IsWatchpointHit ( uint32_t  hw_index)
pure virtual

◆ IsWatchpointVacant()

virtual bool POSIXBreakpointProtocol::IsWatchpointVacant ( uint32_t  hw_index)
pure virtual

◆ NumSupportedHardwareWatchpoints()

virtual uint32_t POSIXBreakpointProtocol::NumSupportedHardwareWatchpoints ( )
pure virtual

◆ SetHardwareWatchpointWithIndex()

virtual bool POSIXBreakpointProtocol::SetHardwareWatchpointWithIndex ( lldb::addr_t  addr,
size_t  size,
bool  read,
bool  write,
uint32_t  hw_index 
)
pure virtual

◆ UpdateAfterBreakpoint()

virtual bool POSIXBreakpointProtocol::UpdateAfterBreakpoint ( )
pure virtual

Updates the register state of the associated thread after hitting a breakpoint (if that make sense for the architecture).

Default implementation simply returns true for architectures which do not require any update.

Returns
True if the operation succeeded and false otherwise.

Implemented in RegisterContextPOSIXProcessMonitor_powerpc, RegisterContextPOSIXProcessMonitor_mips64, RegisterContextPOSIXProcessMonitor_x86_64, RegisterContextPOSIXProcessMonitor_arm64, and RegisterContextPOSIXProcessMonitor_arm.

Referenced by FreeBSDThread::BreakNotify(), and ~POSIXBreakpointProtocol().

Member Data Documentation

◆ m_watchpoints_initialized

bool POSIXBreakpointProtocol::m_watchpoints_initialized
protected

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