From a47d851756d69dde98b883a376cc5c94b13ddb68 Mon Sep 17 00:00:00 2001 From: Derek Parker Date: Thu, 29 May 2014 10:27:03 -0500 Subject: [PATCH] Prefer SetPC --- proctl/proctl_linux_amd64.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/proctl/proctl_linux_amd64.go b/proctl/proctl_linux_amd64.go index a262c64a..f92989c5 100644 --- a/proctl/proctl_linux_amd64.go +++ b/proctl/proctl_linux_amd64.go @@ -156,9 +156,12 @@ func (dbp *DebuggedProcess) Step() error { return err } - // Reset instruction pointer to our restored instruction. - regs.Rip -= 1 - syscall.PtraceSetRegs(dbp.Pid, regs) + // Reset program counter to our restored instruction. + regs.SetPC(bp.Addr) + err = syscall.PtraceSetRegs(dbp.Pid, regs) + if err != nil { + return err + } } err = dbp.handleResult(syscall.PtraceSingleStep(dbp.Pid))