feersum
feersum copied to clipboard
Debugger Woes Tracking Issue
Our current debugger support is a bit rough around the edges.
- [x] Bound tree contains sequence points for debuging
- [ ] Debuggable REPL. Embedded source in PDBs?
- [x] Stop at entry, and step in.
- [ ] Inferred (nop based) sequence points for debug builds. (
DisableSymbolStoreSequencePoints
) - [ ] No symbol information for local names, or environment slots.
- [ ] Better lambda names. e.g.
foo_1::bar_0
notlambda1::lambda0
if(define (foo ..))
forms are used.
symbol names could be attached to storage when a new storage is alloccated by the binder context, or we could keep a mapping from storage to name hint. When emitting debug information later we could just inspect this mapping.
The latter would provide two advantages:
- we don't have to store the name with the storage each time it is referenced
- We can re-write the storage -> name mapping more easily in
lower
. - We can store name information for storage other than locals here too.