diff --git a/client/cli/cli.go b/client/cli/cli.go index 1576f7a3..fad2d3ba 100644 --- a/client/cli/cli.go +++ b/client/cli/cli.go @@ -2,13 +2,14 @@ package cli import ( "fmt" - sys "golang.org/x/sys/unix" "io" "os" "os/exec" "os/signal" "strings" + sys "golang.org/x/sys/unix" + "github.com/derekparker/delve/command" "github.com/derekparker/delve/goreadline" "github.com/derekparker/delve/proctl" @@ -98,6 +99,15 @@ func handleExit(dbp *proctl.DebuggedProcess, status int) { } answer := strings.TrimSuffix(*answerp, "\n") + for _, bp := range dbp.HWBreakPoints { + if bp == nil { + continue + } + if _, err := dbp.Clear(bp.Addr); err != nil { + fmt.Printf("Can't clear breakpoint @%x: %s\n", bp.Addr, err) + } + } + for pc := range dbp.BreakPoints { if _, err := dbp.Clear(pc); err != nil { fmt.Printf("Can't clear breakpoint @%x: %s\n", pc, err)