hyperlight-dev / hyperlight-dev/hyperlight
Rethink debug lifecycle
- Dominant language
- Rust
- Stars
- 4.7k
- Forks
- 208
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 47
Description
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)
Contributor guide
Assessment
This issue has not been assessed yet.