You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android平台Kotlin协程栈追踪恢复失效问题求助

Kotlin协程栈追踪恢复失效问题(Android平台)

我在Android平台使用Kotlin协程的Stacktrace recovery功能时遇到问题,已按照官方文档要求在Application类的onCreate方法中执行System.setProperty("kotlinx.coroutines.debug", "on");开启debug模式,但无论如何操作该功能都未生效。

示例代码

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        runBlocking {
            callerFunction1()
        }
     }

fun callerFunction1() {
        CoroutineScope(Dispatchers.Main + CoroutineName("Caller1")).launch {
            intermediateFunction1()
        }
}

suspend fun intermediateFunction1() {
        delay(100) 
        intermediateFunction3()
    }

suspend fun intermediateFunction2() {
        delay(100)
        crashFunction()
    }

当前生成的栈追踪仅保留crashFunction的调用信息,无上层调用者记录。请问是否可以获取crashFunction -> intermediateFunction2 -> intermediateFunction1的完整调用链?

已尝试的方案

  • 使用Coroutine ExceptionHandler
  • 在顶层添加try-catch
  • 实现CopiableThrowable的自定义异常
  • 使用IllegalStateException等其他异常类型

环境信息

  • Android平台
  • 标准Debug构建,未启用Proguard或R8
  • Kotlin版本2.0.0
  • 协程版本1.8.1

内容的提问来源于stack exchange,提问作者Andrew

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 16:04:53