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") } }) }