DebugServer2
Loading...
Searching...
No Matches
ds2::SoftwareBreakpointManager Class Reference
Inheritance diagram for ds2::SoftwareBreakpointManager:
Collaboration diagram for ds2::SoftwareBreakpointManager:

Public Member Functions

 SoftwareBreakpointManager (Target::ProcessBase *process)
 
virtual void clear () override
 
virtual int hit (Target::Thread *thread, Site &site) override
 
void enable (Target::Thread *thread=nullptr) override
 
void disable (Target::Thread *thread=nullptr) override
 
virtual bool fillStopInfo (Target::Thread *thread, StopInfo &stopInfo) override
 
- Public Member Functions inherited from ds2::BreakpointManager
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
 

Protected Member Functions

virtual void getOpcode (size_t size, ByteVector &opcode) const
 
virtual ErrorCode enableLocation (Site const &site, Target::Thread *thread=nullptr) override
 
virtual ErrorCode disableLocation (Site const &site, Target::Thread *thread=nullptr) override
 
ErrorCode isValid (Address const &address, size_t size, Mode mode) const override
 
size_t chooseBreakpointSize (Address const &address) const override
 
virtual bool enabled (Target::Thread *thread=nullptr) const override
 
- Protected Member Functions inherited from ds2::BreakpointManager
 BreakpointManager (Target::ProcessBase *process)
 
virtual bool hit (Address const &address, Site &site)
 

Additional Inherited Members

- Public Types inherited from ds2::BreakpointManager
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
 
- Protected Attributes inherited from ds2::BreakpointManager
SiteMap _sites
 
Target::ProcessBase_process
 

Member Function Documentation

◆ chooseBreakpointSize()

size_t ds2::SoftwareBreakpointManager::chooseBreakpointSize ( Address const & address) const
overrideprotectedvirtual

◆ clear()

void ds2::SoftwareBreakpointManager::clear ( )
overridevirtual

Reimplemented from ds2::BreakpointManager.

◆ disable()

void ds2::SoftwareBreakpointManager::disable ( Target::Thread * thread = nullptr)
overridevirtual

Reimplemented from ds2::BreakpointManager.

◆ disableLocation()

ErrorCode ds2::SoftwareBreakpointManager::disableLocation ( Site const & site,
Target::Thread * thread = nullptr )
overrideprotectedvirtual

◆ enable()

void ds2::SoftwareBreakpointManager::enable ( Target::Thread * thread = nullptr)
overridevirtual

Reimplemented from ds2::BreakpointManager.

◆ enabled()

bool ds2::SoftwareBreakpointManager::enabled ( Target::Thread * thread = nullptr) const
overrideprotectedvirtual

◆ enableLocation()

ErrorCode ds2::SoftwareBreakpointManager::enableLocation ( Site const & site,
Target::Thread * thread = nullptr )
overrideprotectedvirtual

◆ fillStopInfo()

bool ds2::SoftwareBreakpointManager::fillStopInfo ( Target::Thread * thread,
StopInfo & stopInfo )
overridevirtual

◆ hit()

int ds2::SoftwareBreakpointManager::hit ( Target::Thread * thread,
Site & site )
overridevirtual

◆ isValid()

ErrorCode ds2::SoftwareBreakpointManager::isValid ( Address const & address,
size_t size,
Mode mode ) const
overrideprotectedvirtual

Reimplemented from ds2::BreakpointManager.


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