Kotlin コルーチンのデバッグ
コルーチンは非同期プログラミングに特に適していますが、間違いの余地はまだありますが、非同期フローがもたらす課題のため、それを理解するのは難しい場合があります。
Kotlin コードをデバッグする場合、IntelliJ IDEA を使用すると、実行を一時停止して、コルーチン内のコードが持つ可能性のある問題を診断できます。 現在、コルーチンが実行されていなくても、デバッグ情報を利用できます。
コルーチンデバッガーは、次の情報を提供します。
ディスパッチャーごとにグループ化されたコルーチンとその状態のリスト。 リストを取得するには、 コルーチン タブに移動します。 トップレベルノードはディスパッチャーであり、コルーチンになります。 コルーチンごとに、現在の状態(CREATED、 RUNNING、 SUSPENDED )とスレッドの状態に関する情報を取得します。

コルーチンコンテキスト: 特定の実行ポイントでコルーチン内で使用できるローカル変数とフィールドの値。 コルーチンをデバッグするときは、「変数 」タブのすべての標準機能を使用できます。 「変数 」タブの使用方法の詳細については、「変数の調査 / 更新 」トピックを参照してください。

コルーチン作成スタックとコルーチン内の呼び出しスタック。

Kotlin クラスの呼び出しに関心がない場合は、 フレーム タブの右上隅にある フレームをライブラリから非表示 をクリックして非表示にできます。

コルーチンダンプの取得
各コルーチンとそのスタックの状態を含むレポートが必要な場合は、 スレッドダンプを使用します。 IntelliJ IDEA のスレッドダンプには、Java プラットフォームスレッド、仮想スレッド、Kotlin コルーチンが含まれます。
デバッグ ツールウィンドウのツールバーで、
その他 をクリックし、
スレッドダンプを取得 を選択します。
