У каждого модуля WebAssembly есть граница: то, что он импортирует из хост-окружения, и то, что экспортирует обратно для вызова хостом. Именно на этой границе кроются интересные вопросы — что модулю действительно нужно для работы и что он предоставляет? WASM Визуализатор Импорта/Экспорта наглядно показывает эту границу прямо в браузере.
Загрузите файл .wasm, и инструмент разберёт его секции импорта и экспорта тем же точным до байта парсером, что используется в наших инструментах WebAssembly, а затем:
- Сгруппирует импорты по пространству имён (
env,wasi_snapshot_preview1, пространство JS-связующего кода и т.д.), разрешая реальную сигнатуру параметров/результата каждой импортированной функции из секции типов модуля. - Сгруппирует экспорты по типу (функция, память, таблица, глобальная переменная), разрешая сигнатуры экспортируемых функций тем же способом, корректно учитывая, что импортированные функции занимают младшие индексы функций.
- Покажет оба списка бок о бок — импорты слева, экспорты справа, чтобы весь контракт хост/модуль был виден с первого взгляда.
Когда пространство имён и имена полей импортов дают реальный, проверяемый сигнал, инструмент добавляет скромную заметку на основе фактов — например, распознавая wasi_snapshot_preview1 как вероятно WASI-ориентированную сборку, или группу импортов emscripten_*/__cxa_* как вероятно связующий код рантайма C/C++ Emscripten. Эти заметки всегда показывают реальные совпавшие имена импортов и формулируются как "вероятно", никогда как достоверность — инструмент читает реальные бинарные данные, а не гадает о том, чего не видит.
Используйте его, чтобы понять, от чего реально зависит сторонний файл .wasm перед запуском, сравнить поверхность взаимодействия с хостом у двух сборок, заметить необычно большую поверхность импорта или просто изучить, как модуль WebAssembly общается со своим окружением.
Tiny Online Tools







