Crashpad
Public Member Functions | List of all members
crashpad::DirectPtraceConnection Class Reference

Manages a direct ptrace connection to a process. More...

#include "util/linux/direct_ptrace_connection.h"

Inheritance diagram for crashpad::DirectPtraceConnection:
crashpad::PtraceConnection

Public Member Functions

bool Initialize (pid_t pid)
 Initializes this connection for the process whose process ID is pid. More...
 
pid_t GetProcessID () override
 Returns the process ID of the connected process.
 
bool Attach (pid_t tid) override
 Adds a new thread to this connection. More...
 
bool Is64Bit () override
 Returns true if connected to a 64-bit process.
 
bool GetThreadInfo (pid_t tid, ThreadInfo *info) override
 Retrieves a ThreadInfo for a target thread. More...
 
bool ReadFileContents (const base::FilePath &path, std::string *contents) override
 Reads the entire contents of a file. More...
 
ProcessMemoryMemory () override
 Returns a memory reader for the connected process. More...
 
bool Threads (std::vector< pid_t > *threads) override
 Determines the thread IDs of the threads in the connected process. More...
 

Detailed Description

Manages a direct ptrace connection to a process.

This class is used when the current process has ptrace capabilities for the target process.

Member Function Documentation

◆ Attach()

bool crashpad::DirectPtraceConnection::Attach ( pid_t  tid)
overridevirtual

Adds a new thread to this connection.

Parameters
[in]tidThe thread ID of the thread to attach.
Returns
true on success. false on failure with a message logged.

Implements crashpad::PtraceConnection.

◆ GetThreadInfo()

bool crashpad::DirectPtraceConnection::GetThreadInfo ( pid_t  tid,
ThreadInfo info 
)
overridevirtual

Retrieves a ThreadInfo for a target thread.

Parameters
[in]tidThe thread ID of the target thread.
[out]infoInformation about the thread.
Returns
true on success. false on failure with a message logged.

Implements crashpad::PtraceConnection.

◆ Initialize()

bool crashpad::DirectPtraceConnection::Initialize ( pid_t  pid)

Initializes this connection for the process whose process ID is pid.

The main thread of the process is automatically attached by this call.

Parameters
[in]pidThe process ID of the process to connect to.
Returns
true on success. false on failure with a message logged.

◆ Memory()

ProcessMemory * crashpad::DirectPtraceConnection::Memory ( )
overridevirtual

Returns a memory reader for the connected process.

The caller does not take ownership of the reader. The reader is valid for the lifetime of the PtraceConnection that created it.

Implements crashpad::PtraceConnection.

◆ ReadFileContents()

bool crashpad::DirectPtraceConnection::ReadFileContents ( const base::FilePath &  path,
std::string *  contents 
)
overridevirtual

Reads the entire contents of a file.

Parameters
[in]pathThe path of the file to read.
[out]contentsThe file contents, valid if this method returns true.
Returns
true on success. false on failure with a message logged.

Implements crashpad::PtraceConnection.

◆ Threads()

bool crashpad::DirectPtraceConnection::Threads ( std::vector< pid_t > *  threads)
overridevirtual

Determines the thread IDs of the threads in the connected process.

Parameters
[out]threadsThe list of thread IDs.
Returns
true on success, false on failure with a message logged. If this method returns false, threads may contain a partial list of thread IDs.

Implements crashpad::PtraceConnection.


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