IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Android日志[进阶篇]二-分析堆栈轨迹(调试和外部堆栈) -> 正文阅读

[移动开发]Android日志[进阶篇]二-分析堆栈轨迹(调试和外部堆栈)

堆栈
一般是指java层的或jni层发生crash时候的函数调用序列,最顶层就是发生异常的地方,有的情况下这个堆栈并不一定完整。映射代码基本上指应用层(java 或kotlin),是为了方便将错误定格到代码上,也就是本文讲的内容。但建议小伙伴们要逐渐脱离这样的工具,能自己直接定格,这样效率会更高。至于jni的,需要进行相关的函数表配置,总体思路都是一样的。

调试中的堆栈轨迹

调试应用通常需要使用堆栈轨迹。每当您的应用因为错误或异常而崩溃时,都会生成堆栈轨迹。可以使用 Thread.dumpStack() 等方法输出应用代码中任意位置的堆栈轨迹。

在连接的设备上,当应用在调试模式下运行时,Android Studio 会在 logcat 视图中输出并突出显示堆栈轨迹,如图 1 所示。

图 1

图 1. Logcat 中的堆栈轨迹。

堆栈轨迹会显示导致抛出异常的方法调用列表,以及调用发生的文件名和行号。可以点击突出显示的文件名,以打开相应文件并检查方法调用的来源。点击 Up the stack trace 图标 Down the stack trace 图标 可以在 logcat 窗口中显示的堆栈轨迹行之间快速移动。

从外部来源打开堆栈轨迹

有时,需要分析线上错误报告中的堆栈轨迹,而不是在调试时发现的堆栈轨迹。例如,可能正在通过 Google Play 管理中心或一些其他工具(例如Firebase Crash Reporting,bugly,友盟)收集用户设备上生成的堆栈轨迹。

对于来自错误报告的外部堆栈轨迹,要获取相同的突出显示且可点击的视图,请按照以下步骤操作:

  1. 在 Android Studio 中打开app对应的项目。

    注意:请确保正在查看的源代码的来源应用版本与生成堆栈轨迹的应用版本完全相同。如果代码不同,文件名与行号会不匹配,或堆栈轨迹和项目中的调用顺序会不一致。

  2. Analyze 菜单中,点击 Analyze Stack Trace

    “Analyze Stack Trace”窗口

  3. 将堆栈轨迹文本粘贴到 Analyze Stack Trace 窗口中,然后点击 OK
  4. Android Studio 会在 Run 窗口下打开一个新的 <Stacktrace> 标签页,其中包含您粘贴的堆栈轨迹。

    Stacktrace 窗口

监控剪贴板,确定是否有新的堆栈轨迹

如果经常使用外部堆栈轨迹,则可以通过允许 Android Studio 持续监控系统剪贴板上是否有新的堆栈轨迹,提高工作效率:

  1. 打开 Analyze Stacktrace 工具。
  2. 选中 Automatically detect and analyze thread dumps copied to the clipboard outside of IntelliJ IDEA 复选框。
  3. 将其他应用(例如来自网络浏览器的应用)中的堆栈轨迹复制到系统剪贴板。
  4. 当返回到 Android Studio 窗口时,相应堆栈轨迹会自动在 Run 窗口下打开,而无需将其粘贴到“Analyze Stacktrace”窗口中。
  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-09-10 10:58:28  更:2021-09-10 10:59:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 17:04:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码