分析堆栈轨迹

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

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

分析堆栈轨迹

图 1. Logcat 中的堆栈轨迹。

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

从外部来源打开堆栈轨迹

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

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

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

1.在 Android Studio 中打开您的项目

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

分析堆栈轨迹

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

分析堆栈轨迹

 

参考资料:https://developer.android.com/studio/debug/stacktraces?hl=zh-cn