feat(repl): integrate Debugger into REPL with GDB-style debug commands#26
Conversation
Add breakpoint management (.break, .breaks, .clear, .enable, .disable) and a .debug command that runs the accumulated program under interp.Debugger. The debug sub-loop (debug> prompt) supports step/next/finish/continue, stack/locals/globals/frames inspection, and in-session breakpoint edits. Reuses interp.NewDebugger / WithDebugger / ErrStopped without modification. A fresh session Debugger is created per .debug call to avoid stale hook state. https://claude.ai/code/session_01L8FLfFpthLnU2SZjZaqcT4
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #26 +/- ##
==========================================
+ Coverage 55.46% 55.70% +0.24%
==========================================
Files 48 48
Lines 7032 7253 +221
==========================================
+ Hits 3900 4040 +140
- Misses 2719 2781 +62
- Partials 413 432 +19 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
PR Review — feat(repl): integrate Debugger into REPL with GDB-style debug commandsDecisionMerge Ready ✓ Merge Readiness SummaryThis PR is merge-ready. It adds well-scoped debugging functionality to the REPL with comprehensive test coverage, clean architecture, and no breaking changes. The implementation correctly reuses existing AnalysisScope Control ✓
Correctness ✓
Test Coverage ✓18 new test cases covering:
Architecture Consistency ✓
Risk & Compatibility ✓
Maintainability ✓
FindingsPotential Documentation NoteThe file Final RecommendationMerge — This PR meets all merge-readiness criteria. The implementation is correct, well-tested, architecturally sound, and introduces no risk to existing functionality. Generated by Claude Code |
Add breakpoint management (.break, .breaks, .clear, .enable, .disable)
and a .debug command that runs the accumulated program under interp.Debugger.
The debug sub-loop (debug> prompt) supports step/next/finish/continue,
stack/locals/globals/frames inspection, and in-session breakpoint edits.
Reuses interp.NewDebugger / WithDebugger / ErrStopped without modification.
A fresh session Debugger is created per .debug call to avoid stale hook state.
https://claude.ai/code/session_01L8FLfFpthLnU2SZjZaqcT4