Как я могу напечатать текущую трассировку стека внутри функции приостановки?
Если я попробую обычным способом:
suspend fun f() {
Exception().printStackTrace()
}
Будет напечатано что-то вроде:
java.lang.Exception
at car2share.sync.reservations.ReservationLogWriter.write(ReservationLogWriter.kt:105)
at car2share.sync.reservations.ReservationLogWriter$write$2.invokeSuspend(ReservationLogWriter.kt)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(Dispatched.kt:241)
at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:270)
at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:79)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:54)
at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:36)
at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
Который не содержит полную трассировку стека.