From 464d6c278330585e07f03b49a504d01851e50d82 Mon Sep 17 00:00:00 2001 From: Alessandro Arzilli Date: Thu, 5 Jan 2017 20:13:07 +0100 Subject: [PATCH] terminal: fixed typo. (#694) * terminal: fixed typo. * debugger: bugfix: when restaring use new process to FindFileLocation --- service/debugger/debugger.go | 2 +- service/test/integration2_test.go | 23 +++++++++++++++++++++++ terminal/command.go | 2 +- 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/service/debugger/debugger.go b/service/debugger/debugger.go index 1992d6b7..776f950c 100644 --- a/service/debugger/debugger.go +++ b/service/debugger/debugger.go @@ -133,7 +133,7 @@ func (d *Debugger) Restart() ([]api.DiscardedBreakpoint, error) { continue } if len(oldBp.File) > 0 { - oldBp.Addr, err = d.process.FindFileLocation(oldBp.File, oldBp.Line) + oldBp.Addr, err = p.FindFileLocation(oldBp.File, oldBp.Line) if err != nil { discarded = append(discarded, api.DiscardedBreakpoint{oldBp, err}) continue diff --git a/service/test/integration2_test.go b/service/test/integration2_test.go index 00c26f46..737076d1 100644 --- a/service/test/integration2_test.go +++ b/service/test/integration2_test.go @@ -1193,3 +1193,26 @@ func TestClientServer_FpRegisters(t *testing.T) { } }) } + +func TestClientServer_RestartBreakpointPosition(t *testing.T) { + withTestClient2("locationsprog2", t, func(c service.Client) { + bpBefore, err := c.CreateBreakpoint(&api.Breakpoint{FunctionName: "main.afunction", Line: -1, Tracepoint: true, Name: "this"}) + addrBefore := bpBefore.Addr + t.Logf("%x\n", bpBefore.Addr) + assertNoError(err, t, "CreateBreakpoint") + _, err = c.Halt() + assertNoError(err, t, "Halt") + _, err = c.Restart() + assertNoError(err, t, "Restart") + bps, err := c.ListBreakpoints() + assertNoError(err, t, "ListBreakpoints") + for _, bp := range bps { + if bp.Name == bpBefore.Name { + if bp.Addr != addrBefore { + t.Fatalf("Address changed after restart: %x %x", bp.Addr, addrBefore) + } + t.Logf("%x %x\n", bp.Addr, addrBefore) + } + } + }) +} diff --git a/terminal/command.go b/terminal/command.go index cb16e7d3..764c3e89 100644 --- a/terminal/command.go +++ b/terminal/command.go @@ -574,7 +574,7 @@ func restart(t *Term, ctx callContext, args string) error { } fmt.Println("Process restarted with PID", t.client.ProcessPid()) for i := range discarded { - fmt.Println("Discarded %s at %s: %v\n", formatBreakpointName(discarded[i].Breakpoint, false), formatBreakpointLocation(discarded[i].Breakpoint), discarded[i].Reason) + fmt.Printf("Discarded %s at %s: %v\n", formatBreakpointName(discarded[i].Breakpoint, false), formatBreakpointLocation(discarded[i].Breakpoint), discarded[i].Reason) } return nil }