33 virtual ErrorCode terminate()
override;
36 virtual ErrorCode suspend()
override;
39 virtual ErrorCode step(
int signal = 0,
41 virtual ErrorCode resume(
int signal = 0,
45 virtual ErrorCode afterResume();
48 virtual ErrorCode readCPUState(Architecture::CPUState &state)
override;
49 virtual ErrorCode writeCPUState(Architecture::CPUState
const &state)
override;
58 DWORD lastExceptionCode()
const {
return _lastExceptionCode; }
60#if defined(ARCH_ARM64)
66 ErrorCode readWatchpointRegisters(std::vector<uint64_t> &addresses,
67 std::vector<uint32_t> &controls);
69 writeWatchpointRegisters(std::vector<uint64_t>
const &addresses,
70 std::vector<uint32_t>
const &controls);
81 static constexpr uint64_t kPSTATE_SS = 1ULL << 21;
91 void setExplicitStep() { _explicitStep =
true; }
92 bool wasExplicitStep()
const {
return _wasExplicitStep; }
96 DWORD _lastExceptionCode = 0;
97#if defined(ARCH_ARM64)
98 bool _explicitStep =
false;
99 bool _wasExplicitStep =
false;
103 virtual void updateState()
override;
104 virtual void updateState(DEBUG_EVENT
const &de);