DebugServer2
Loading...
Searching...
No Matches
ds2::BreakpointManager Class Referenceabstract
Inheritance diagram for ds2::BreakpointManager:
Collaboration diagram for ds2::BreakpointManager:

Classes

struct  Site
 

Public Types

enum class  Lifetime : unsigned int { None = 0 , Permanent = (1 << 0) , TemporaryOneShot = (1 << 1) , TemporaryUntilHit = (1 << 2) }
 
enum  Mode { kModeExec = (1 << 0) , kModeRead = (1 << 1) , kModeWrite = (1 << 2) }
 
typedef std::map< uint64_t, SiteSiteMap
 

Public Member Functions

virtual void clear ()
 
virtual ErrorCode add (Address const &address, Lifetime lifetime, size_t size, Mode mode)
 
virtual ErrorCode remove (Address const &address)
 
virtual bool has (Address const &address) const
 
virtual void enumerate (std::function< void(Site const &)> const &cb) const
 
virtual int hit (Target::Thread *thread, Site &site)=0
 
virtual void enable (Target::Thread *thread=nullptr)
 
virtual void disable (Target::Thread *thread=nullptr)
 
virtual bool fillStopInfo (Target::Thread *thread, StopInfo &stopInfo)=0
 

Protected Member Functions

 BreakpointManager (Target::ProcessBase *process)
 
virtual ErrorCode isValid (Address const &address, size_t size, Mode mode) const
 
virtual size_t chooseBreakpointSize (Address const &address) const =0
 
virtual bool hit (Address const &address, Site &site)
 
virtual ErrorCode enableLocation (Site const &site, Target::Thread *thread=nullptr)=0
 
virtual ErrorCode disableLocation (Site const &site, Target::Thread *thread=nullptr)=0
 
virtual bool enabled (Target::Thread *thread=nullptr) const =0
 

Protected Attributes

SiteMap _sites
 
Target::ProcessBase_process
 

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