DebugServer2
Loading...
Searching...
No Matches
ds2::Target::Darwin::MachOProcess Class Reference
Inheritance diagram for ds2::Target::Darwin::MachOProcess:
Collaboration diagram for ds2::Target::Darwin::MachOProcess:

Public Member Functions

ErrorCode getAuxiliaryVector (std::string &auxv) override
 
uint64_t getAuxiliaryVectorValue (uint64_t type) override
 
virtual ErrorCode getSharedLibraryInfoAddress (Address &address)
 
ErrorCode enumerateSharedLibraries (std::function< void(SharedLibraryInfo const &)> const &cb) override
 
Host::Darwin::Machmach ()
 
- Public Member Functions inherited from ds2::Target::POSIX::Process
ErrorCode detach () override
 
ErrorCode interrupt () override
 
ErrorCode terminate () override
 
bool isAlive () const override
 
ErrorCode readString (Address const &address, std::string &str, size_t length, size_t *count=nullptr) override
 
ErrorCode readMemory (Address const &address, void *data, size_t length, size_t *count=nullptr) override
 
ErrorCode writeMemory (Address const &address, void const *data, size_t length, size_t *count=nullptr) override
 
void resetSignalPass ()
 
void setSignalPass (int signo, bool set)
 
ErrorCode wait () override
 
virtual Host::POSIX::PTraceptrace () const =0
 
- Public Member Functions inherited from ds2::Target::ProcessBase
ProcessId pid () const
 
bool attached () const
 
Address const & loadBase () const
 
Address const & entryPoint () const
 
Thread * currentThread () const
 
Thread * thread (ThreadId tid) const
 
virtual ErrorCode getInfo (ProcessInfo &info)
 
virtual ErrorCode suspend ()
 
virtual ErrorCode resume (int signal=0, std::set< Thread * > const &excluded=std::set< Thread * >())
 
virtual ErrorCode enumerateThreads (std::function< void(Thread *)> const &cb) const
 
virtual ErrorCode enumerateMappedFiles (std::function< void(MappedFileInfo const &)> const &cb)
 
ErrorCode readMemoryBuffer (Address const &address, size_t length, ByteVector &buffer)
 
ErrorCode writeMemoryBuffer (Address const &address, ByteVector const &buffer, size_t *nwritten=nullptr)
 
ErrorCode writeMemoryBuffer (Address const &address, ByteVector const &buffer, size_t length, size_t *nwritten=nullptr)
 
virtual ErrorCode allocateMemory (size_t size, uint32_t protection, uint64_t *address)=0
 
virtual ErrorCode deallocateMemory (uint64_t address, size_t size)=0
 
virtual ErrorCode getMemoryRegionInfo (Address const &address, MemoryRegionInfo &info)=0
 
virtual void getThreadIds (std::vector< ThreadId > &tids)
 
virtual SoftwareBreakpointManagersoftwareBreakpointManager () const final
 
virtual HardwareBreakpointManagerhardwareBreakpointManager () const final
 
virtual void prepareForDetach ()
 
virtual ErrorCode beforeResume ()
 
virtual ErrorCode afterResume ()
 
virtual int getMaxBreakpoints () const
 
virtual int getMaxWatchpoints () const
 
virtual int getMaxWatchpointSize () const
 
virtual Architecture::GDBDescriptor const * getGDBRegistersDescriptor () const final
 
virtual Architecture::LLDBDescriptor const * getLLDBRegistersDescriptor () const final
 

Protected Member Functions

ErrorCode updateInfo () override
 
virtual ErrorCode updateAuxiliaryVector ()
 
- Protected Member Functions inherited from ds2::Target::POSIX::Process
ErrorCode initialize (ProcessId pid, uint32_t flags) override
 
virtual ErrorCode attach (int waitStatus)=0
 
ErrorCode sendInterrupt ()
 
bool checkInterrupt (ThreadId tid, int waitStatus)
 
int convertMemoryProtectionToPOSIX (uint32_t protection) const
 
uint32_t convertMemoryProtectionFromPOSIX (int POSIXProtection) const
 
- Protected Member Functions inherited from ds2::Target::ProcessBase
virtual void cleanup ()
 
virtual void insert (ThreadBase *thread)
 
virtual void remove (ThreadBase *thread)
 
virtual void removeThread (ThreadId tid)
 

Protected Attributes

std::string _auxiliaryVector
 
Address _sharedLibraryInfoAddress
 
Host::Darwin::Mach _mach
 
- Protected Attributes inherited from ds2::Target::POSIX::Process
std::set< int > _passthruSignals
 
struct { 
 
   std::mutex   mutex 
 
   ProcessId   pid = 0 
 
_interruptState 
 
- Protected Attributes inherited from ds2::Target::ProcessBase
bool _terminated
 
uint32_t _flags
 
ProcessId _pid
 
ProcessInfo _info
 
Address _loadBase
 
Address _entryPoint
 
IdentityMap _threads
 
Thread * _currentThread
 
std::unique_ptr< SoftwareBreakpointManager_softwareBreakpointManager
 
std::unique_ptr< HardwareBreakpointManager_hardwareBreakpointManager
 

Additional Inherited Members

- Public Types inherited from ds2::Target::ProcessBase
enum  { kFlagNewProcess = (1 << 0) , kFlagAttachedProcess = (1 << 1) }
 
typedef std::map< ThreadId, Thread * > IdentityMap
 
- Static Public Member Functions inherited from ds2::Target::POSIX::Process
static ds2::Target::Process * Create (Host::ProcessSpawner &spawner)
 
static ds2::Target::Process * Attach (ProcessId pid)
 
- Public Attributes inherited from ds2::Target::POSIX::Process

Member Function Documentation

◆ enumerateSharedLibraries()

ErrorCode ds2::Target::Darwin::MachOProcess::enumerateSharedLibraries ( std::function< void(SharedLibraryInfo const &)> const & cb)
overridevirtual

◆ getAuxiliaryVector()

ErrorCode ds2::Target::Darwin::MachOProcess::getAuxiliaryVector ( std::string & auxv)
overridevirtual

Reimplemented from ds2::Target::ProcessBase.

◆ getAuxiliaryVectorValue()

uint64_t ds2::Target::Darwin::MachOProcess::getAuxiliaryVectorValue ( uint64_t type)
overridevirtual

Reimplemented from ds2::Target::ProcessBase.

◆ updateInfo()

ErrorCode ds2::Target::Darwin::MachOProcess::updateInfo ( )
overrideprotectedvirtual

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