25 std::set<int> _passthruSignals;
34 ErrorCode initialize(ProcessId pid, uint32_t flags)
override;
35 virtual ErrorCode attach(
int waitStatus) = 0;
38 ErrorCode sendInterrupt();
39 bool checkInterrupt(ThreadId tid,
int waitStatus);
42 ErrorCode detach()
override;
43 ErrorCode interrupt()
override;
44 ErrorCode terminate()
override;
45 bool isAlive()
const override;
48 ErrorCode readString(
Address const &address, std::string &str,
size_t length,
49 size_t *count =
nullptr)
override;
50 ErrorCode readMemory(
Address const &address,
void *data,
size_t length,
51 size_t *count =
nullptr)
override;
52 ErrorCode writeMemory(
Address const &address,
void const *data,
size_t length,
53 size_t *count =
nullptr)
override;
56 int convertMemoryProtectionToPOSIX(uint32_t protection)
const;
57 uint32_t convertMemoryProtectionFromPOSIX(
int POSIXProtection)
const;
60 void resetSignalPass();
61 void setSignalPass(
int signo,
bool set);
64 ErrorCode wait()
override;
71 static ds2::Target::Process *Attach(ProcessId pid);