-
Notifications
You must be signed in to change notification settings - Fork 248
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Investigate current state of guest debugging #2068
Comments
I had a brief and inexpert explore of this. My test case was setting a breakpoint by function name (on a function with
So my sense of the current situation is that module debugging works but component debugging is not there, and the latter prevents us from doing guest debugging in Spin for now. That said, maybe there's a LLVM/LLDB extension that makes it work with the component model? I'm happy to try things further but right now my search skills aren't turning one up... |
Asking @squillace to share some of his experience debugging Wasm with Wasmtime. |
@itowlson is correct currently. lldb/gdb cannot catch breakpoints navigating components; the problem is that it's quite literally a new file type -- this is the same reason that Ivan notes that llvm-dwarfdump blows chunks. The fixes for this are in flight; but until that happens, you can't turn on debugging in spin and expect it to work with components. :-( You should lay down the groundwork for this to "suddenly light up" when we teach wasmtime to leave debug symbols in the component modules and lldb to read component files. It won't be "long" but it will be a couple more months, methinks.... |
Wasmtime 23 appears to improve the state of debugging for components: bytecodealliance/wasmtime#8693 |
Reportedly, wasmtime guest debugging has improved significantly over the past months. We should evaluate it for Spin and - if it's useful enough - consider enabling
debug_info
either by default or viaspin up
flag and documenting how to get it working for supported languages.The text was updated successfully, but these errors were encountered: