Как включить -Dkotlinx.coroutines.debug в IntelliJ IDEA? - PullRequest
0 голосов
/ 11 ноября 2018

Как включить -Dkotlinx.coroutines.debug в IntelliJ IDEA? У меня есть следующий код из сопрограмм документации :

fun log(msg: String) = println("[${Thread.currentThread().name}] $msg")

fun main() = runBlocking<Unit> {
    val a = async {
        log("I'm computing a piece of the answer")
        6
    }
    val b = async {
        log("I'm computing another piece of the answer")
        7
    }
    log("The answer is ${a.await() * b.await()}")    
}

Я пытался добавить эту опцию в «Выполнить -> Изменить конфигурацию»:

enter image description here

но после этого я ожидал увидеть следующий вывод (как говорят документы):

[main @coroutine#2] I'm computing a piece of the answer
[main @coroutine#3] I'm computing another piece of the answer
[main @coroutine#1] The answer is 42

но на самом деле я вижу обычный обычный вывод:

[main] I'm computing a piece of the answer
[main] I'm computing another piece of the answer
[main] The answer is 42

Так как включить эту опцию JVM?

1 Ответ

0 голосов
/ 11 ноября 2018

Вы настраиваете и запускаете цель Gradle run. Означает, что вы настраиваете Gradle с этим параметром. Но Gradle не использует этот параметр для запуска вашего примера Kotlin.

Вы должны запустить и настроить цель Kotlin. Вы видите это как второй узел левой стороны на вашем скриншоте.

Или, если вы действительно хотите использовать Gradle, вы можете передать системные свойства JavaVM:

run {
    systemProperties System.properties
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...