Spec-Zone.ru › Kotlin 2

Отладка кода Kotlin/Wasm

В этом руководстве показано, как использовать IntelliJ IDEA и браузер для отладки приложения Compose Multiplatform, созданного с помощью Kotlin/Wasm.

Перед началом работы

  1. Настройте среду для разработки на Kotlin Multiplatform.

  2. Следуйте инструкциям, чтобы создать проект Kotlin Multiplatform для Kotlin/Wasm.

  • Отладка кода Kotlin/Wasm в IntelliJ IDEA доступна начиная с версии IDE 2025.3, которая сейчас находится в программе раннего доступа (EAP) и готовится к стабильному выпуску. Если вы создали проект WasmDemo в другой версии IntelliJ IDEA, переключитесь на версию 2025.3 и откройте в ней проект, чтобы продолжить работу с этим руководством.

  • Для отладки кода Kotlin/Wasm в IntelliJ IDEA необходимо установить плагин JavaScript Debugger. Подробнее о плагине и его установке.

Отладка в IntelliJ IDEA

Созданный вами проект Kotlin Multiplatform содержит приложение Compose Multiplatform, работающее на Kotlin/Wasm. Это приложение можно отлаживать в IntelliJ IDEA сразу, без дополнительной настройки.

  1. В IntelliJ IDEA откройте файл Kotlin, который нужно отладить. В этом руководстве мы будем работать с файлом Greeting.kt из следующего каталога проекта Kotlin Multiplatform:

    WasmDemo/composeApp/src/wasmJsMain/kotlin/wasm.project.demo.wasmdemo

  2. Нажмите на номера строк, чтобы установить точки останова в коде, который вы хотите исследовать.

    Set breakpoints
  3. В списке конфигураций запуска выберите composeApp[wasmJs].

  4. Запустите код в режиме отладки, нажав значок отладки в верхней части экрана.

    Run in debug mode

    После запуска приложение откроется в новом окне браузера.

    Compose app in browser

    Кроме того, в IntelliJ IDEA автоматически откроется панель Отладка.

    Compose app debugger

Исследование приложения

Если вы отлаживаете приложение в браузере, выполните те же действия для его исследования.

  1. В окне браузера с приложением нажмите кнопку Нажми меня!, чтобы взаимодействовать с приложением. Это действие запускает выполнение кода, и отладчик приостанавливает его, когда выполнение достигает точки останова.

  2. На панели отладки используйте кнопки управления отладкой, чтобы исследовать переменные и выполнение кода в точках останова:

    • Step over Шаг с обходом — выполнить текущую строку и приостановиться на следующей.

    • Step into Шаг с заходом — подробнее исследовать функцию.

    • Step out Шаг с выходом — выполнять код, пока он не выйдет из текущей функции.

  3. Изучите панель Потоки и переменные. Она помогает проследить последовательность вызовов функций и определить местоположение ошибок.

    Check Threads & Variables
  4. Измените код и запустите приложение снова, чтобы проверить его работу.

  5. Когда закончите отладку, нажмите на номера строк с точками останова, чтобы удалить их.

Отладка в браузере

Это приложение Compose Multiplatform также можно отлаживать в браузере без дополнительной настройки.

При запуске задач разработки Gradle (*DevRun) Kotlin автоматически предоставляет исходные файлы браузеру, позволяя устанавливать точки останова, исследовать переменные и пошагово выполнять код Kotlin.

Конфигурация для предоставления исходных файлов проекта Kotlin/Wasm браузеру теперь включена в плагин Kotlin Gradle. Если вы ранее добавляли эту конфигурацию в файл build.gradle.kts, удалите ее, чтобы избежать конфликтов.

В этом руководстве используется браузер Chrome, но эти шаги можно выполнить и в других браузерах. Дополнительную информацию см. в разделе Версии браузеров.

  1. Следуйте инструкциям, чтобы запустить приложение Compose Multiplatform.

  2. В окне браузера с приложением щелкните правой кнопкой мыши и выберите действие Просмотреть код, чтобы открыть инструменты разработчика. Также можно воспользоваться сочетанием клавиш F12 или выбрать Вид | Разработчик | Инструменты разработчика.

  3. Перейдите на вкладку Источники и выберите файл Kotlin для отладки. В этом руководстве мы будем работать с файлом Greeting.kt.

  4. Нажмите на номера строк, чтобы установить точки останова в коде, который вы хотите исследовать. Точки останова можно установить только на строках с более темными номерами — в этом примере это строки 4, 7, 8 и 9.

    Set breakpoints
  5. Исследуйте приложение так же, как при отладке в IntelliJ IDEA.

    При отладке в браузере для отслеживания последовательности вызовов функций и определения местоположения ошибок используются панели Область видимости и Стек вызовов.

    Check the call stack

Использование пользовательских форматтеров

Пользовательские форматтеры помогают отображать значения переменных и находить их при отладке кода Kotlin/Wasm в браузере — в более удобном и понятном виде.

В сборках Kotlin/Wasm для разработки пользовательские форматтеры включены по умолчанию, однако необходимо убедиться, что они включены в инструментах разработчика браузера:

  • В Chrome DevTools найдите флажок Пользовательские форматтеры в разделе Настройки | Параметры | Консоль:

    Enable custom formatters in Chrome
  • В Firefox DevTools найдите флажок Включить пользовательские форматтеры в разделе Настройки | Дополнительные настройки:

    Enable custom formatters in Firefox

Эта функция использует API пользовательских форматтеров и поддерживается в Firefox и браузерах на основе Chromium.

Поскольку пользовательские форматтеры по умолчанию работают только в сборках Kotlin/Wasm для разработки, для их использования в производственных сборках необходимо изменить конфигурацию Gradle. Добавьте следующий параметр компилятора в блок wasmJs {}:

// build.gradle.kts
kotlin {
    wasmJs {
        // ...

        compilerOptions {
            freeCompilerArgs.add("-Xwasm-debugger-custom-formatters")
        }
    }
}

Оставить отзыв

Будем рады узнать о вашем опыте отладки!

  • Slack Slack: получите приглашение в Slack и поделитесь отзывом напрямую с разработчиками в канале #webassembly.

  • Оставьте отзыв в YouTrack.

Что дальше?

  • Посмотрите, как выполняется отладка Kotlin/Wasm, в этом видео на YouTube.

  • Попробуйте другие примеры Kotlin/Wasm:

    • Приложение KotlinConf

    • Просмотрщик изображений Compose

    • Пример Node.js

    • Пример WASI

    • Пример Compose

24 марта 2026 г.
Начало работы с Kotlin/Wasm и WASIВзаимодействие с JavaScript

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/wasm-debugging.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API