0xMiden / 0xMiden/miden-debug

Track call frames using VM debug metadata

Aperta
#109 1 commento 0 reazioni 1 assegnatario Rivendicata da @djolertrk Vedi su GitHub
Lingua principale
Rust
Stelle
1
Fork
8
Merge medio
2g 13h
PR unite (30g)
16

Descrizione

The debugger currently relies on runtime events to detect function entry and exit. This is fragile because events may be missing or delayed, and they add unnecessary work to normal execution.

We should extend Miden VM package debug information with compact source call-frame ranges. The debugger can inspect the current execution context and reconstruct the active physical call stack directly from those ranges. Expired ranges naturally remove frames, while newly active ranges add them.

This should work for nested calls, recursion, linked packages, and instruction padding without adding overhead to the Processor’s normal execution path. Inline frames remain separate and continue using inline-call metadata.

The result should be consistent backtraces in both the REPL/TUI and DAP without requiring compiler-emitted frame start/end events.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

L'issue descrive l'estensione delle informazioni di debug del pacchetto Miden VM. Inizia esaminando le strutture di metadati di debug esistenti nella codebase, probabilmente nella crate `miden-debug`. Cerca come vengono attualmente gestiti gli eventi di runtime e dove vengono tracciati i frame di chiamata. L'obiettivo è aggiungere intervalli di frame di chiamata sorgente ai metadati e modificare il debugger per ricostruire lo stack da questi intervalli. I test coinvolgeranno chiamate annidate, ricorsione e pacchetti collegati per garantire che i backtrace siano coerenti nel REPL/TUI e nel DAP senza eventi di frame.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
rust
Ambito
devtools
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.