Debugging the Future: Exploring Coroutine Debugger Tools | Nikita Nazarov

preview_player
Показать описание

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
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:

Рекомендации по теме
Комментарии
Автор

Nikita has so gentle and pleasant voice. I really like this talk!

urosjarc
Автор

Another pro tip. Enable -Xdebug only while you develop, via Gradle parameters: I like to pass in a "is.release" project parameter, which is read in the build script. If it's false (or absent) enable the flag, otherwise we're building for production and we don't need to de-optimize.

lppedd
Автор

Thank you, this was greatly needed !!

TarekBuhdeima
Автор

Pro tip: use Force Step Over instead of Step Over, and your debug session won't terminate (99% of the times).

But I think debugging enhancements are going to land soon anyway.

lppedd