Spec-Zone.ru › Kotlin 1.4

Отладка сопроцедур с помощью IntelliJ IDEA

Последнее обновление 17 сентября 2020 г.
Этот учебник демонстрирует, как создавать сопроцедуры 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, можно углубиться в каждую сопроцедуру для отладки кода.

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

Spec-Zone.ru

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