JVM配置项-Dkotlinx.coroutines.debug

背景介绍

最近在学习Kotlin的Coroutine(协程)部分,在[ Coroutine Context and Dispatchers
](https://kotlinlang.org/docs/reference/coroutines/coroutine-context-and-dispatchers.html
)这部分内容时,遇到下面这么一段话:
Run the following code with -Dkotlinx.coroutines.debug JVM option:
(即使用-Dkotlinx.coroutines.debug 这个JVM配置型来运行下面的代码)

-Dkotlinx.coroutines.debug

本来这么一行命令大可不必计较,但是一看官方栗子的运行结果,不禁虎躯一震。
运行结果
本来还在考虑协程这么light-weight怎么调试的问题,现在居然可以把协程编号打印出来。写好实例代码运行一看,此时的我是懵逼的,只有线程名称没有协程编号。
那就是:JVM配置项 -Dkotlinx.coroutines.debug 的问题啦。

配置-Dkotlinx.coroutines.debug

IDEA的JVM 配置项菜单在 Help | Edit Custom VM options下面,想进一步了解,请移步这里如下图所示:
idea.vmoptions

如果到这里就结束了,那这篇文章就没有必要啦!!! (Too young too simple…)
————————————————————————————————

真正的重点

1.上述方案的失败原因

Help -> Edit Custom VM Options 菜单是给Idea自己的执行设置JVM 配置项。

我们还需要给自己的应用设置JVM配置项
我们还需要给自己的应用设置JVM配置项
我们还需要给自己的应用设置JVM配置项

2. 给自己的项目设置配置项

Run | Edit Configurations 点击进入

画线部分是重点

即:**-Dkotlinx.coroutines.debug=on**

到这里就完了吗?你有可能还会出错…

如果太过随意在“=”的附近加上空格,请你还是CV操作吧…!!!
如果太过随意在“=”的附近加上空格,请你还是CV操作吧…!!!
如果太过随意在“=”的附近加上空格,请你还是CV操作吧…!!!

参考自:Stackoverflow

补充知识

kotlinx.coroutine.debug有三个属性值:
* auto 默认值:(在-ea才生效)
* on (等价于空字符串) :开启
* off :关闭

出处:Debug_property_name

发布了23 篇原创文章 · 获赞 14 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/wangcheeng/article/details/101013993