fix(debug): make ptrace sessions reliable on Go tracees

This commit is contained in:
2026-08-30 22:35:22 +02:00
parent 96cc70731f
commit 9cb1666b35
6 changed files with 232 additions and 39 deletions
+8
View File
@@ -28,6 +28,14 @@ Unreleased changes on the `development` branch.
the hits per instruction and reports the executed instructions with
their hit counts, with the label coverage derived from the same run.
Expect the run to slow to ptrace speed.
- **Debugger reliability fixes.** The ptrace session now drains runtime
signal-delivery-stops (a Go tracee reports SIGURG preemption to the
tracer) instead of mistaking them for the launch barrier, pins the
tracer thread the fork ran on (ptrace requests from another thread fail
with ESRCH), prefers the debuggee's reported code base over an RWX scan,
and single-steps over a hit breakpoint so resuming cannot re-trap on the
same instruction. A ptrace integration test
(`debug/ptrace_integration_test.go`) drives a real session end to end.
- **FP register display on riscv64 and loong64.** The debugger `regs`
command shows the 32 FP registers plus fcsr (and fcc on loong64) via
`PTRACE_GETREGSET`, where it previously printed nothing.