diff --git a/proctl/proctl_linux_amd64.go b/proctl/proctl_linux_amd64.go index 68945b09..8b8a5ea6 100644 --- a/proctl/proctl_linux_amd64.go +++ b/proctl/proctl_linux_amd64.go @@ -96,9 +96,9 @@ func (dbp *DebuggedProcess) Registers() (*syscall.PtraceRegs, error) { // Sets a breakpoint in the running process. func (dbp *DebuggedProcess) Break(addr uintptr) (*BreakPoint, error) { var ( - int3 = []byte{'0', 'x', 'C', 'C'} + int3 = []byte{0xCC} f, l, fn = dbp.GoSymTable.PCToLine(uint64(addr)) - orginalData = make([]byte, 4) + orginalData = make([]byte, 1) ) _, err := syscall.PtracePeekData(dbp.Pid, addr, orginalData) diff --git a/proctl/proctl_test.go b/proctl/proctl_test.go index 1b00c3cb..4d8ef62a 100644 --- a/proctl/proctl_test.go +++ b/proctl/proctl_test.go @@ -140,7 +140,7 @@ func TestBreakPoint(t *testing.T) { } pc := regs.PC() - if pc != sleepyaddr { + if pc != sleepyaddr+1 { t.Fatalf("Break not respected:\nPC:%d\nFN:%d\n", pc, sleepyaddr) }