Skip to content
WebAssembly

Debugging

Inspect modules and handle traps.

#debug#inspect#trap

Code

webassembly
// Inspect a module's structure before instantiation
const module = await WebAssembly.compile(bytes);

console.log("Imports:");
for (const imp of WebAssembly.Module.imports(module)) {
  console.log(" ", imp.module, imp.name, imp.kind);
}

console.log("Exports:");
for (const exp of WebAssembly.Module.exports(module)) {
  console.log(" ", exp.name, exp.kind);
}

// Catch runtime traps with try/catch
try {
  instance.exports.riskyFn();
} catch (err) {
  console.error("WASM trap:", err.message);
}