From d06abe3f2f29f93007674b54f028e4b84806803e Mon Sep 17 00:00:00 2001 From: Derek Parker Date: Sun, 2 Aug 2015 00:08:48 -0500 Subject: [PATCH] Debugger.Restart: Preserve breakpoints Fixes #188 --- service/debugger/debugger.go | 5 +++++ service/test/integration_test.go | 8 ++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/service/debugger/debugger.go b/service/debugger/debugger.go index 83412a3e..dd8f0c1a 100644 --- a/service/debugger/debugger.go +++ b/service/debugger/debugger.go @@ -91,6 +91,11 @@ func (d *Debugger) Restart() error { if err != nil { return fmt.Errorf("could not launch process: %s", err) } + for addr, _ := range d.process.Breakpoints { + if _, err := p.SetBreakpoint(addr); err != nil { + return err + } + } d.process = p return nil } diff --git a/service/test/integration_test.go b/service/test/integration_test.go index b221d199..fce1fd10 100644 --- a/service/test/integration_test.go +++ b/service/test/integration_test.go @@ -101,12 +101,8 @@ func TestRestart_duringStop(t *testing.T) { if err != nil { t.Fatal(err) } - if len(bps) != 0 { - t.Fatal("breakpoint tabe not cleared") - } - state = <-c.Continue() - if !state.Exited { - t.Fatal("expected process to have exited") + if len(bps) == 0 { + t.Fatal("breakpoints not preserved") } }) }