7 Commits
Author SHA1 Message Date
claude 98e3347b4c docs: add SPEC.md (original vision) and README.md 2026-05-27 21:31:36 +00:00
claude 2f64981729 v0.6: state.stack, until(loc), finish(), prelude show.* helpers
- StackRegion from /proc/<pid>/maps, exposed as state.stack
  ({top, usable_base, guard_size} BigInts per spec)
- until(loc) one-shot bp wrapper that cleans up via try/finally,
  works even if a different stop fires first
- finish() reads return address from [rbp+8] and uses until()
- updated js.rs module doc; allow(dead_code) on the kept-for-future
  BreakpointSet::find_by_name
2026-05-27 21:30:18 +00:00
claude 2ed17f0286 v0.5: x86-64 disassembly via iced-x86
- state.disasm(n=8), disasm(addr, n=8) -> [{addr, bytes, text, target?, target_sym?}]
- read_mem_pristine() overlays orig bytes through active INT3 breakpoints
- branch/call targets get symbolized when they land in known symbols
- show.disasm / show.bp / show.regs prelude helpers for ergonomic printing
2026-05-27 21:24:01 +00:00
claude 8ae6103ce7 v0.4: INT3 software breakpoints with by-name/by-id ops
- StopReason::Breakpoint(id), rewinds RIP on hit
- bp.set(addr_or_symbol, name?), bp.remove(id_or_name), bp.list()
- step/cont disarm-step-rearm when PC sits on an enabled bp
- fix: PIE load_base = mapping_base - mapping_file_offset (was using the
  first executable mapping with its offset, which is wrong on toolchains
  that split read-only header pages)
2026-05-27 21:21:29 +00:00
claude d587dbcd4c v0.3: ELF symbol parsing, sym()/addr()/symbols() globals, addrstr/here prelude helpers 2026-05-27 21:13:10 +00:00
claude 19c6154831 v0.2: prev snapshot of regs, refactored state/prev to share build_register_view 2026-05-27 21:10:23 +00:00
claude 912f5003fe v0.1: spawn/step/cont, state.{pc,sp,registers,memory}, prelude.js 2026-05-27 21:08:28 +00:00