Track call frames using VM debug metadata
- Lenguaje dominante
- Rust
- Estrellas
- 1
- Forks
- 8
- Merge medio
- 2 d 13 h
- PR fusionados (30 d)
- 16
Descripción
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.
Guía de contribución
Línea de trabajo
El issue describe la extensión de la información de depuración del paquete Miden VM. Comience examinando las estructuras de metadatos de depuración existentes en la base de código, probablemente en el crate `miden-debug`. Busque cómo se manejan actualmente los eventos en tiempo de ejecución y dónde se rastrean los marcos de llamada. El objetivo es agregar rangos de marcos de llamada de origen a los metadatos y modificar el depurador para reconstruir la pila a partir de estos rangos. Las pruebas involucrarán llamadas anidadas, recursión y paquetes vinculados para garantizar que los seguimientos inversos sean consistentes en el REPL/TUI y DAP sin eventos de marco.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- rust
- Área
- devtools
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Tranquilo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 45/100