Ensure hardware breakpoints are cleared upon exit
This commit is contained in:
parent
b0ba87e5e1
commit
5da2e02068
@ -2,13 +2,14 @@ package cli
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
sys "golang.org/x/sys/unix"
|
|
||||||
"io"
|
"io"
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"os/signal"
|
"os/signal"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
sys "golang.org/x/sys/unix"
|
||||||
|
|
||||||
"github.com/derekparker/delve/command"
|
"github.com/derekparker/delve/command"
|
||||||
"github.com/derekparker/delve/goreadline"
|
"github.com/derekparker/delve/goreadline"
|
||||||
"github.com/derekparker/delve/proctl"
|
"github.com/derekparker/delve/proctl"
|
||||||
@ -98,6 +99,15 @@ func handleExit(dbp *proctl.DebuggedProcess, status int) {
|
|||||||
}
|
}
|
||||||
answer := strings.TrimSuffix(*answerp, "\n")
|
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 {
|
for pc := range dbp.BreakPoints {
|
||||||
if _, err := dbp.Clear(pc); err != nil {
|
if _, err := dbp.Clear(pc); err != nil {
|
||||||
fmt.Printf("Can't clear breakpoint @%x: %s\n", pc, err)
|
fmt.Printf("Can't clear breakpoint @%x: %s\n", pc, err)
|
||||||
|
Loading…
Reference in New Issue
Block a user