[doc] Add some documentation for debugging
The previous documentation only covers how to enable debug info when embedding Wasmtime. This change should cover the commonly-asked question: how do I debug in Wasmtime?
This commit is contained in:
@@ -6,6 +6,7 @@
|
|||||||
- [Running `hello-world.wasm`](./tutorial-run-hello-world.md)
|
- [Running `hello-world.wasm`](./tutorial-run-hello-world.md)
|
||||||
- [Examples](./examples.md)
|
- [Examples](./examples.md)
|
||||||
- [Markdown Parser](./examples-markdown.md)
|
- [Markdown Parser](./examples-markdown.md)
|
||||||
|
- [Debugging WebAssembly](./examples-debugging.md)
|
||||||
- [Profiling WebAssembly](./examples-profiling.md)
|
- [Profiling WebAssembly](./examples-profiling.md)
|
||||||
- [Profiling with Perf](./examples-profiling-perf.md)
|
- [Profiling with Perf](./examples-profiling-perf.md)
|
||||||
- [Profiling with VTune](./examples-profiling-vtune.md)
|
- [Profiling with VTune](./examples-profiling-vtune.md)
|
||||||
|
|||||||
24
docs/examples-debugging.md
Normal file
24
docs/examples-debugging.md
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# Debugging WebAssembly
|
||||||
|
|
||||||
|
The following steps describe a common way to debug a WebAssembly module in
|
||||||
|
Wasmtime:
|
||||||
|
|
||||||
|
1. Compile your WebAssembly with debug info enabled, usually `-g`; for
|
||||||
|
example:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
clang foo.c -g -o foo.wasm
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Run Wasmtime with the debug info enabled; this is `-g` from the CLI and
|
||||||
|
`Config::debug_info(true)` in an embedding (e.g. see [debugging in a Rust
|
||||||
|
embedding](./examples-rust-debugging.md))
|
||||||
|
|
||||||
|
3. Use a supported debugger:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
lldb -- wasmtime run -g foo.wasm
|
||||||
|
```
|
||||||
|
```sh
|
||||||
|
gdb --args wasmtime run -g foo.wasm
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user