fix(debug): hardware watchpoints, signal stops and breakpoint restore
Assisted-by: GLM 5.3
This commit is contained in:
@@ -53,7 +53,7 @@ REPL commands:
|
||||
bufSpec := fs.String("buf", "", "buffer specification: name:size:pattern[,name:size:pattern...] where pattern is zero, ones, seq, or hex")
|
||||
script := fs.String("script", "", "run REPL commands from a file (one per line) and exit; '-' reads stdin")
|
||||
cover := fs.Bool("cover", false, "run to completion with a breakpoint on every instruction and report which executed and how often")
|
||||
timeout := fs.Duration("timeout", 0, "kill the debuggee after this duration (e.g. 30s); for headless --script runs")
|
||||
timeout := fs.Duration("timeout", 0, "kill the debuggee after this duration (e.g. 30s); for headless --script runs; a timeout exits 3")
|
||||
fs.Parse(args)
|
||||
|
||||
// --- Debuggee mode (internal, spawned by the debugger) ---
|
||||
@@ -231,6 +231,13 @@ REPL commands:
|
||||
if sess.Exited() {
|
||||
break
|
||||
}
|
||||
// A genuine signal-delivery-stop (a fault in the kernel): the
|
||||
// run cannot make progress, because resuming would restart the
|
||||
// faulting instruction and fault forever. Report and stop.
|
||||
if sig := sess.LastSignal(); sig != 0 {
|
||||
fmt.Printf("gasm debug: cover: stopped on signal %v\n", sig)
|
||||
break
|
||||
}
|
||||
regs, rerr := sess.GetRegs()
|
||||
if rerr != nil {
|
||||
break
|
||||
|
||||
Reference in New Issue
Block a user