Spec-Zone.ru › Kotlin 1.6

Отладка корутин с помощью IntelliJ IDEA – учебник

Этот учебник демонстрирует, как создавать Kotlin корутины и отлаживать их с помощью IntelliJ IDEA.

Учебник предполагает, что вы уже знакомы с концепцией корутин.

Отладка работает для kotlinx-coroutines-core версии 1.3.8 или более поздней.

Создание корутин

  1. Откройте Kotlin проект в IntelliJ IDEA. Если у вас нет проекта, создайте его.

  2. Откройте файл main.kt в src/main/kotlin.

    Директория src содержит Kotlin исходные файлы и ресурсы. Файл main.kt содержит пример кода, который будет выводить Hello World!.

  3. Измените код в функции main():

    • Используйте блок runBlocking(), чтобы обернуть корутину.

    • Используйте функцию async(), чтобы создать корутины, которые вычисляют отложенные значения a и b.

    • Используйте функцию await(), чтобы дождаться результата вычисления.

    • Используйте функцию println(), чтобы вывести статус вычисления и результат умножения в выходные данные.

    import kotlinx.coroutines.*
    
    fun main() = runBlocking<Unit> {
        val a = async {
            println("I'm computing part of the answer")
            6
        }
        val b = async {
            println("I'm computing another part of the answer")
            7
        }
        println("The answer is ${a.await() * b.await()}")
    }
    
  4. Соберите код, нажав Собрать проект.

    Build an application

Отладка корутин

  1. Установите точки останова в строках с вызовом функции println().

    Build a console application
  2. Запустите код в режиме отладки, нажав Отладить рядом с конфигурацией запуска в верхней части экрана.

    Build a console application

    Окно инструментов Отладка появляется:

    • Вкладка Фреймы содержит стек вызовов.

    • Вкладка Переменные содержит переменные в текущем контексте.

    • Вкладка Корутины содержит информацию о запущенных или приостановленных корутинах. Она показывает, что есть три корутины. Первая имеет статус ВЫПОЛНЯЕТСЯ, а две другие – СОЗДАНА.

    Debug the coroutine
  3. Возобновите сеанс отладки, нажав Возобновить программу в окне инструментов Отладка:

    Debug the coroutine

    Теперь вкладка Корутины показывает следующее:

    • Первая корутина имеет статус ПРИОСТАНОВЛЕНА – она ждет значений, чтобы их перемножить.

    • Вторая корутина вычисляет значение a – ее статус ВЫПОЛНЯЕТСЯ.

    • Третья корутина имеет статус СОЗДАНА и не вычисляет значение b.

  4. Возобновите сеанс отладки, нажав Возобновить программу в окне инструментов Отладка:

    Build a console application

    Теперь вкладка Корутины показывает следующее:

    • Первая корутина имеет статус ПРИОСТАНОВЛЕНА – она ждет значений, чтобы их перемножить.

    • Вторая корутина вычислила свое значение и исчезла.

    • Третья корутина вычисляет значение b – ее статус ВЫПОЛНЯЕТСЯ.

Используя отладчик IntelliJ IDEA, вы можете углубиться в каждую корутину для отладки вашего кода.

Последнее изменение: 04 апреля 2022
Выбор выражения (экспериментальная версия) Отладка Kotlin Flow с помощью IntelliJ IDEA – учебник

© 2010–2022 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/debug-coroutines-with-idea.html

Spec-Zone.ru

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