Repository navigation
Rewind64 v0.2.11 (Linux x86-64 experimental)
Pre-releaseRewind64 v0.2.11 — experimental Linux x86-64 prerelease
Explore execution. Trace every instruction. Understand the past.
This experimental update provides a bounded, read-only history of validated application signal-delivery stops for the single self-launched Linux x86-64 tracee.
New: signals / g
At an interactive debugger prompt:
rewind64> signals
Signal history: no validated signal-delivery stops yet.
rewind64> step
Interactive signal stop: signal 4 pending; choose step, continue or quit.
rewind64> g
Signal history [0]: signal=4 si_code=2 step=0
The output is illustrative; signal numbers and si_code depend on the target and the Linux kernel.
- Records only validated signal-delivery stops from
PTRACE_GETSIGINFO: signal number, signedsiginfo_t.si_code, and completed instruction-step count at the time of observation. - Holds the latest eight observations in a fixed 128-byte, debugger-local circular buffer, displayed oldest-to-newest. The oldest stop is replaced when full.
- Does not count synthetic
PTRACE_SINGLESTEPtraps, exec/exit ptrace events, invalid commands, or read-only memory/register inspections. - Reading
signals/gnever resumes the tracee, forwards pending signals or modifies registers and memory. - Exact commands also work as a final EOF-terminated input line without a newline. Unexpected arguments are rejected as unknown commands.
events/eremains available for total observed and submitted forward signal counts, plus pending signal and ptrace event counters. Those counts measure different actions and need not match.
Validation
190/190 native Assembly/Bash integration tests passed on both Ubuntu 22.04 and Ubuntu 24.04 on the corrected development code, including 13 new signal-history regression cases. The release workflow rebuilds and runs make clean && make test before publishing a Linux x86-64 executable archive and its SHA256SUMS.txt manifest. No Python is needed.
Usage
./rewind64 run --interactive /path/to/your/authorized/program
./rewind64 run --interactive --changes-only /path/to/your/authorized/programOther interactive commands: step [1..16]/s, history [1..16]/h, events/e, regs/r, status/i, code/x, bytes [1..8]/b, stack/k, mem 0xHEX [1..4]/m, continue/c, help, and quit/q.
Limitations and safety
Rewind64 is experimental and forward-only, for Linux x86-64 single self-launched targets. It does not offer process attachment, breakpoint insertion, source-level debugging, multi-thread tracing, disassembly, persistent recording, historic memory or CPU-state restoration, replay, or reverse stepping. Use it only on programs you own or have authorization to debug. It is not a sandbox; memory and signal diagnostics can expose sensitive process information. Normal Linux ptrace permission rules apply.
License: Boost Software License 1.0. Source repository: https://github.com/sanskarIN/Rewind64