hyperlight-dev / hyperlight-dev/hyperlight

Rethink debug lifecycle

Aperta
#1,210 3 commenti 1 reazione 0 assegnatari Vedi su GitHub
lifecycle/confirmed
Lingua principale
Rust
Stelle
4.7k
Fork
208
Merge medio
1g 7h
PR unite (30g)
48

Descrizione

Currently, the initial breakpoint set up when creating a sandbox is set on the entrypoint function, which means that, when creating a sandbox from an initialised snapshot, it is never set up or executed, and a debugger has no easy way to attach.

Relatedly, the debugging infrastructure (and the initial breakpoint) is/are set up in `Sandbox::new()`, which means that whether a sandbox has a debug thread or not is decided once, at sandbox creation time, but there is also only one place to attach a debugger (at sandbox initialisation time): future function calls, or restored sandboxes, might not be easy to debug, even though they have a debug thread consuming resources.

See also: [this comment](https://github.com/hyperlight-dev/hyperlight/pull/1205#discussion_r2763004788)

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia leggendo Sandbox::new() e la discussione collegata della pull request, concentrandoti su quando vengono configurati il thread di debug e il breakpoint iniziale. Il lavoro è completato quando il ciclo di vita del debug supporta snapshot inizializzati, chiamate di funzione successive e sandbox ripristinate, senza rendere difficile il collegamento del debugger né mantenere un thread di debug non necessario.

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

Valutazione

Stack tecnologico
rust
Ambito
devtools, operating-systems
Tipo di issue
Refactoring
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
30/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.