wasm-trace icon indicating copy to clipboard operation
wasm-trace copied to clipboard

instrumenting wasm binaries to trace function execution

Results 16 wasm-trace issues
Sort by recently updated
recently updated
newest added

wasmtrace is not showing the execution trace when run the command: **node examples/js/runWasm.js function-calls.wasm do_stuff 4** **output getting is :** Invoking exported function do_stuff with arguments [ 4 ] ......

given that this is like a struct and an iml, should it have it's own file? https://github.com/sarahlim/wasm-trace/blob/796219b38f3b8df167c1d652f196a6365545950c/src/module.rs#L356

in past projects, I've found uses of unwrap() to be the quick and dirty solution to error propagation, this is great, because you can just "be done with it", however,...

would the program benefit from using an ordered map instead of an array to represent the functions? https://github.com/sarahlim/wasm-trace/blob/796219b38f3b8df167c1d652f196a6365545950c/src/module.rs#L130

is it possible that when people run the code and find this error, they'll have a hard time figuring out what it means or how to fix it, due to...

Log arguments to function calls when writing to the buffer. See this [helpful discussion](https://github.com/sarahlim/wasm-trace/pull/9#issuecomment-395493798). - [ ] Rewrite `RingBuffer` to allow variably-sized entries, keeping track of the number of arguments...

instrumentation

Rather than instrumenting only exported functions, we should instrument all functions in the function index space (including the standard library) except for the transitive closure of functions invoked by the...

instrumentation

Currently the instrumented module always writes to `output.wasm`. We should use https://github.com/kbknapp/clap-rs to let users pass in an `--output` flag.

ux

Rather than using a `call` instruction to log function invocation/return, we should instrument the ring buffer directly from each wasm function body.

instrumentation
performance

Currently, we build the call stack representation in JavaScript using a literal in-memory stack. Since we have a ring buffer, though, for complex programs we're going to overwrite data and...

instrumentation
tracing
javascript