Android Studio 断点调试异常相关选项总结

Android Studio 断点调试异常相关选项总结

一、 Disable until hitting the following breakpoints 下二选一项区别

选项 中文翻译 触发条件 适用场景
when any is thrown 当任意可抛出对象被抛出时 触发任意 Throwable(包含 Exception 异常 + Error 错误) 需监控底层严重问题(如 OutOfMemoryError)时
any exception 任意异常 仅触发 Exception 类型异常(日常业务异常,如 SQLiteException 排查代码逻辑异常(如 Room 插入失败),开发中更常用

二、 Exception BreakpointsSuspend execution 选项说明

  1. 单词含义

    • Suspend:暂停、挂起
    • Execution:执行、运行
    • 整体翻译:暂停执行
  2. 功能区别(与 Kotlin 挂起函数无关)

    勾选状态 效果 适用场景
    ✅ 勾选 触发异常断点时,App 立即暂停,跳转到异常代码行,可查看变量、调用链 开发调试阶段,定位异常根因
    ❌ 不勾选 触发异常断点时,App 正常运行,仅在 Logcat 打印异常堆栈 上线前监控异常,不打断程序流程
  3. 关键注意点

    此选项中的 suspend暂停 App 进程执行 ,和 Kotlin 协程里修饰挂起函数的 suspend 关键字没有任何关联。

三、 结合 Room 进度保存场景的使用建议

  1. 调试 Room 插入进度的异常时,优先选 any exception + 勾选 Suspend execution,精准定位数据库相关异常(如主键冲突、线程问题)。
  2. 若需监控严重错误(如内存溢出导致的进度保存失败),可选择 when any is thrown + 勾选 Suspend execution
  3. 测试阶段想记录异常但不影响 App 播放流程,可选择对应异常类型 + 不勾选 Suspend execution
相关推荐
杉氧3 小时前
Navigation Compose 深度实践:如何优雅地串联起你的全栈 App?
android·架构·android jetpack
雨白6 小时前
指针与数组的核心机制
android
黄林晴11 小时前
Room 3.0 正式发布!包名彻底重构,KMP 成为核心主线
android·android jetpack
三少爷的鞋12 小时前
Kotlin 协程环境下的 DCL 懒加载:别把线程时代的经验直接搬过来
android
plainGeekDev12 小时前
Gson → kotlinx.serialization
android·java·kotlin
CYY951 天前
Compose 入门篇
android·kotlin
杉氧1 天前
Compose 时代的 MVI 架构:如何用单向数据流驱动复杂 UI?
android·架构·android jetpack
杉氧1 天前
Modifier 的艺术:为什么链式调用的顺序决定了UI 的生命周期?
android·架构·android jetpack
李斯维1 天前
腾讯 XLog 日志框架 Android 端接入
android·android studio·android jetpack