WABT(1) General Commands Manual WABT(1)

# [NAME](#NAME)

`wasm-interp` — decode and run a WebAssembly binary file

# [SYNOPSIS](#SYNOPSIS)

`wasm-interp` \[options] `filename` `[arg]...`

# [DESCRIPTION](#DESCRIPTION)

`wasm-interp` read a file in the wasm binary format, and run in it a stack-based interpreter.

The options are as follows:

[`--help`](#help)

Print this help message

[`--version`](#version)

Print version information

[`-v`](#v), `--verbose`

Use multiple times for more info

[`--disable-exceptions`](#disable-exceptions)

Disable Experimental exception handling

[`--disable-mutable-globals`](#disable-mutable-globals)

Disable Import/export mutable globals

[`--disable-saturating-float-to-int`](#disable-saturating-float-to-int)

Disable Saturating float-to-int operators

[`--disable-sign-extension`](#disable-sign-extension)

Disable Sign-extension operators

[`--disable-simd`](#disable-simd)

Disable SIMD support

[`--enable-threads`](#enable-threads)

Enable Threading support

[`--enable-function-references`](#enable-function-references)

Enable Typed function references

[`--disable-multi-value`](#disable-multi-value)

Disable Multi-value

[`--disable-tail-call`](#disable-tail-call)

Disable Tail-call support

[`--disable-bulk-memory`](#disable-bulk-memory)

Disable Bulk-memory operations

[`--disable-reference-types`](#disable-reference-types)

Disable Reference types (externref)

[`--disable-annotations`](#disable-annotations)

Disable Custom annotation syntax

[`--enable-code-metadata`](#enable-code-metadata)

Enable Code metadata

[`--enable-gc`](#enable-gc)

Enable Garbage collection

[`--disable-memory64`](#disable-memory64)

Disable 64-bit memory

[`--disable-multi-memory`](#disable-multi-memory)

Disable Multi-memory

[`--disable-extended-const`](#disable-extended-const)

Disable Extended constant expressions

[`--disable-relaxed-simd`](#disable-relaxed-simd)

Disable Relaxed SIMD

[`--enable-custom-page-sizes`](#enable-custom-page-sizes)

Enable Custom page sizes

[`--enable-compact-imports`](#enable-compact-imports)

Enable Compact import section

[`--enable-wide-arithmetic`](#enable-wide-arithmetic)

Enable Wide arithmetic

[`--enable-all`](#enable-all)

Enable all features

[`-V`](#V), `--value-stack-size=SIZE`

Size in elements of the value stack

[`-C`](#C), `--call-stack-size=SIZE`

Size in elements of the call stack

[`-t`](#t), `--trace`

Trace execution

[`-r`](#r), `--run-export=FUNCTION`

Run exported function by name

[`-a`](#a), `--argument=ARGUMENT`

Add argument to an exported function execution

[`--wasi`](#wasi)

Assume input module is WASI compliant (Export WASI API the the module and invoke \_start function)

[`-e`](#e), `--env=ENV`

Pass the given environment string in the WASI runtime

[`-d`](#d), `--dir=DIR`

Pass the given directory the the WASI runtime

[`--run-all-exports`](#run-all-exports)

Run all the exported functions, in order. Useful for testing

[`--host-print`](#host-print)

Include an importable function named "host.print" for printing to stdout

# [EXAMPLES](#EXAMPLES)

parse binary file test.wasm, and type-check it

`$ wasm-interp test.wasm`

parse test.wasm and run all its exported functions

`$ wasm-interp test.wasm --run-all-exports`

parse test.wasm, run the exported functions and trace the output

`$ wasm-interp test.wasm --run-all-exports --trace`

parse test.wasm and run all its exported functions, setting the value stack size to 100 elements

`$ wasm-interp test.wasm -V 100 --run-all-exports`

parse test.wasm, run specific exported function by name with argument

`$ wasm-interp test.wasm -r func_sum -a i32:8 -a i32:5`

# [SEE ALSO](#SEE_ALSO)

[wasm-objdump(1)](/man/os/wabt/wasm-objdump.1), [wasm-stats(1)](/man/os/wabt/wasm-stats.1), [wasm-strip(1)](/man/os/wabt/wasm-strip.1), [wasm-validate(1)](/man/os/wabt/wasm-validate.1), [wasm2c(1)](/man/os/wabt/wasm2c.1), [wasm2wat(1)](/man/os/wabt/wasm2wat.1), [wast2json(1)](/man/os/wabt/wast2json.1), [wat-desugar(1)](/man/os/wabt/wat-desugar.1), [wat2wasm(1)](/man/os/wabt/wat2wasm.1), [spectest-interp(1)](/man/os/wabt/spectest-interp.1)

# [BUGS](#BUGS)

If you find a bug, please report it at  
[https://github.com/WebAssembly/wabt/issues](https://github.com/WebAssembly/wabt/issues).

Linux 4.19.0-gvisor

---

Document: wasm-interp(1) from wabt 1.0.42-r0 (Chainguard OS)
Source: https://github.com/WebAssembly/wabt
