Often, you will find yourself debugging errors that happen inside a coroutine. Even when you have the steps to recreate a bug, following the code and making sense of what's happening may require some hard debugging work. In this section, we will cover good practices to debug your concurrent code, and I am sure that they will come in handy sometime.