DebugServer2
Loading...
Searching...
No Matches
ds2::Host::Linux::PTrace Class Reference
Inheritance diagram for ds2::Host::Linux::PTrace:
Collaboration diagram for ds2::Host::Linux::PTrace:

Public Member Functions

ErrorCode wait (ProcessThreadId const &ptid, int *status=nullptr) override
 
ErrorCode traceMe (bool disableASLR) override
 
ErrorCode traceThat (ProcessId pid) override
 
ErrorCode kill (ProcessThreadId const &ptid, int signal) override
 
ErrorCode readString (ProcessThreadId const &ptid, Address const &address, std::string &str, size_t length, size_t *count=nullptr) override
 
ErrorCode readMemory (ProcessThreadId const &ptid, Address const &address, void *buffer, size_t length, size_t *count=nullptr) override
 
ErrorCode writeMemory (ProcessThreadId const &ptid, Address const &address, void const *buffer, size_t length, size_t *count=nullptr) override
 
ErrorCode readCPUState (ProcessThreadId const &ptid, ProcessInfo const &pinfo, Architecture::CPUState &state) override
 
ErrorCode writeCPUState (ProcessThreadId const &ptid, ProcessInfo const &pinfo, Architecture::CPUState const &state) override
 
ErrorCode step (ProcessThreadId const &ptid, ProcessInfo const &pinfo, int signal=0, Address const &address=Address()) override
 
ErrorCode resume (ProcessThreadId const &ptid, ProcessInfo const &pinfo, int signal=0, Address const &address=Address()) override
 
ErrorCode getSigInfo (ProcessThreadId const &ptid, siginfo_t &si) override
 
ErrorCode getEventMessage (ProcessThreadId const &ptid, unsigned long &data)
 
- Public Member Functions inherited from ds2::Host::POSIX::PTrace
virtual ErrorCode attach (ProcessId pid)
 
virtual ErrorCode detach (ProcessId pid)
 
virtual ErrorCode suspend (ProcessThreadId const &ptid)
 
virtual ErrorCode execute (ProcessThreadId const &ptid, ProcessInfo const &pinfo, void const *code, size_t length, uint64_t &result)
 

Protected Member Functions

virtual ErrorCode readBytes (ProcessThreadId const &ptid, Address const &address, void *buffer, size_t length, size_t *count, bool nullTerm)
 
virtual ErrorCode readRegisterSet (ProcessThreadId const &ptid, int regSetCode, void *buffer, size_t length)
 
virtual ErrorCode writeRegisterSet (ProcessThreadId const &ptid, int regSetCode, void const *buffer, size_t length)
 
- Protected Member Functions inherited from ds2::Host::POSIX::PTrace
template<typename CommandType , typename AddrType , typename DataType >
long wrapPtrace (CommandType request, pid_t pid, AddrType addr, DataType data, int retries=3)
 
virtual ErrorCode ptidToPid (ProcessThreadId const &ptid, pid_t &pid)
 

Member Function Documentation

◆ getSigInfo()

ErrorCode ds2::Host::Linux::PTrace::getSigInfo ( ProcessThreadId const & ptid,
siginfo_t & si )
overridevirtual

◆ kill()

ErrorCode ds2::Host::Linux::PTrace::kill ( ProcessThreadId const & ptid,
int signal )
overridevirtual

◆ readCPUState()

ErrorCode ds2::Host::Linux::PTrace::readCPUState ( ProcessThreadId const & ptid,
ProcessInfo const & pinfo,
Architecture::CPUState & state )
overridevirtual

◆ readMemory()

ErrorCode ds2::Host::Linux::PTrace::readMemory ( ProcessThreadId const & ptid,
Address const & address,
void * buffer,
size_t length,
size_t * count = nullptr )
overridevirtual

◆ readString()

ErrorCode ds2::Host::Linux::PTrace::readString ( ProcessThreadId const & ptid,
Address const & address,
std::string & str,
size_t length,
size_t * count = nullptr )
overridevirtual

◆ resume()

ErrorCode ds2::Host::Linux::PTrace::resume ( ProcessThreadId const & ptid,
ProcessInfo const & pinfo,
int signal = 0,
Address const & address = Address() )
overridevirtual

Reimplemented from ds2::Host::POSIX::PTrace.

◆ step()

ErrorCode ds2::Host::Linux::PTrace::step ( ProcessThreadId const & ptid,
ProcessInfo const & pinfo,
int signal = 0,
Address const & address = Address() )
overridevirtual

Reimplemented from ds2::Host::POSIX::PTrace.

◆ traceMe()

ErrorCode ds2::Host::Linux::PTrace::traceMe ( bool disableASLR)
overridevirtual

Reimplemented from ds2::Host::POSIX::PTrace.

◆ traceThat()

ErrorCode ds2::Host::Linux::PTrace::traceThat ( ProcessId pid)
overridevirtual

◆ wait()

ErrorCode ds2::Host::Linux::PTrace::wait ( ProcessThreadId const & ptid,
int * status = nullptr )
overridevirtual

Reimplemented from ds2::Host::POSIX::PTrace.

◆ writeCPUState()

ErrorCode ds2::Host::Linux::PTrace::writeCPUState ( ProcessThreadId const & ptid,
ProcessInfo const & pinfo,
Architecture::CPUState const & state )
overridevirtual

◆ writeMemory()

ErrorCode ds2::Host::Linux::PTrace::writeMemory ( ProcessThreadId const & ptid,
Address const & address,
void const * buffer,
size_t length,
size_t * count = nullptr )
overridevirtual

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