27 ErrorCode wait(
ProcessThreadId const &ptid,
int *status =
nullptr)
override;
30 ErrorCode traceMe(
bool disableASLR)
override;
31 ErrorCode traceThat(ProcessId pid)
override;
38 Address const &address,
void *buffer,
39 size_t length,
size_t *count,
bool nullTerm);
43 std::string &str,
size_t length,
44 size_t *count =
nullptr)
override;
46 void *buffer,
size_t length,
47 size_t *count =
nullptr)
override;
49 void const *buffer,
size_t length,
50 size_t *count =
nullptr)
override;
54 Architecture::CPUState &state)
override;
56 Architecture::CPUState
const &state)
override;
70 ErrorCode getSigInfo(
ProcessThreadId const &ptid, siginfo_t &si)
override;
71 ErrorCode getEventMessage(
ProcessThreadId const &ptid,
unsigned long &data);
74 virtual ErrorCode readRegisterSet(
ProcessThreadId const &ptid,
int regSetCode,
75 void *buffer,
size_t length);
77 int regSetCode,
void const *buffer,
80#if defined(ARCH_X86) || defined(ARCH_X86_64)
88#if defined(ARCH_ARM) || defined(ARCH_ARM64)
106 ErrorCode writeHardwareBreakpoint(
ProcessThreadId const &ptid, uint32_t addr,
107 uint32_t ctrl,
size_t idx)
override;
108 ErrorCode writeHardwareWatchpoint(
ProcessThreadId const &ptid, uint32_t addr,
109 uint32_t ctrl,
size_t idx)
override;
112#if defined(ARCH_ARM64)
125 std::vector<uint64_t> &addresses,
126 std::vector<uint32_t> &controls);
129 std::vector<uint64_t>
const &addresses,
130 std::vector<uint32_t>
const &controls);