Crashpad
|
Implements a PtraceConnection over a socket. More...
#include "util/linux/ptrace_client.h"
Public Member Functions | |
bool | Initialize (int sock, pid_t pid, bool try_direct_memory=true) |
Initializes this object. 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... | |
ProcessMemory * | Memory () 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... | |
Implements a PtraceConnection over a socket.
This class forms the client half of the connection and is typically used when the current process does not have ptrace
capabilities on the target process. It should be created with a socket connected to a PtraceBroker.
|
overridevirtual |
Adds a new thread to this connection.
[in] | tid | The thread ID of the thread to attach. |
true
on success. false
on failure with a message logged. Implements crashpad::PtraceConnection.
|
overridevirtual |
Retrieves a ThreadInfo for a target thread.
[in] | tid | The thread ID of the target thread. |
[out] | info | Information about the thread. |
true
on success. false
on failure with a message logged. Implements crashpad::PtraceConnection.
bool crashpad::PtraceClient::Initialize | ( | int | sock, |
pid_t | pid, | ||
bool | try_direct_memory = true |
||
) |
Initializes this object.
This method must be successfully called before any other method in this class.
[in] | sock | A socket connected to a PtraceBroker. Does not take ownership of the socket. |
[in] | pid | The process ID of the process to form a PtraceConnection with. |
[in] | try_direct_memory | If true the client will attempt to support memory reading operations by directly acessing the target process' /proc/[pid]/mem file. |
true
on success. false
on failure with a message logged.
|
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.
|
overridevirtual |
Reads the entire contents of a file.
[in] | path | The path of the file to read. |
[out] | contents | The file contents, valid if this method returns true . |
true
on success. false
on failure with a message logged. Implements crashpad::PtraceConnection.
|
overridevirtual |
Determines the thread IDs of the threads in the connected process.
[out] | threads | The list of thread IDs. |
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.