MENU

Fun & Interesting

Debugging the Future: Exploring Coroutine Debugger Tools | Nikita Nazarov

Kotlin by JetBrains 4,552 9 months ago
Video Not Working? Fix It Now

Recording brought to you by American Express. https://americanexpress.io/kotlin-jobs Coroutines is a shining feature of the Kotlin language, however when having hundreds of them running, debugging becomes a challenging task! In this talk, we will take a deep dive into the core of coroutine debugging, debunking its internals and reviewing available tools. During the first part of the talk I will give the overview of the coroutine debugging tooling available in Intellij IDEA and how to use it: Asynchronous stack traces How the debugger handles stepping inside coroutines, where after pressing the 'step over' button you may wake up in a different world. Coroutine Panel Stack trace recovery (https://github.com/Kotlin/kotlinx.coroutines/blob/master/docs/topics/debugging.md#stacktrace-recovery) The "-Xdebug" kotlin compiler flag that allows users to view variables that would normally be optimised. While presenting the tooling, I will also uncover the machinery behind it. The second part of the talk will cover the tooling for coroutine debugging developed by the community: Stack Trace Decoroutinator (https://github.com/Anamorphosee/stacktrace-decoroutinator) Coroutine Stacks (https://github.com/nikita-nazarov/coroutine-stacks) I will give an overview of how to use it, which problems it covers and how it is different from what exists in Intellij.

Comment