mirror of
https://github.com/go-delve/delve.git
synced 2025-11-01 20:20:40 +08:00
Refactor save/restore register funcs
This commit is contained in:
@ -50,6 +50,14 @@ func (t *ThreadContext) blocked() bool {
|
||||
return false
|
||||
}
|
||||
|
||||
func (thread *ThreadContext) saveRegisters() error {
|
||||
return sys.PtraceGetRegs(thread.Id, &thread.os.registers)
|
||||
}
|
||||
|
||||
func (thread *ThreadContext) restoreRegisters() error {
|
||||
return sys.PtraceSetRegs(thread.Id, &thread.os.registers)
|
||||
}
|
||||
|
||||
func writeMemory(thread *ThreadContext, addr uintptr, data []byte) (int, error) {
|
||||
return sys.PtracePokeData(thread.Id, addr, data)
|
||||
}
|
||||
@ -57,17 +65,3 @@ func writeMemory(thread *ThreadContext, addr uintptr, data []byte) (int, error)
|
||||
func readMemory(thread *ThreadContext, addr uintptr, data []byte) (int, error) {
|
||||
return sys.PtracePeekData(thread.Id, addr, data)
|
||||
}
|
||||
|
||||
func (thread *ThreadContext) saveRegisters() error {
|
||||
var regs sys.PtraceRegs
|
||||
err := sys.PtraceGetRegs(thread.Id, ®s)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
thread.os.registers = regs
|
||||
return nil
|
||||
}
|
||||
|
||||
func (thread *ThreadContext) restoreRegisters() error {
|
||||
return sys.PtraceSetRegs(thread.Id, &thread.os.registers)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user