pavlofff Asked:2020-03-13 18:45:35 +0000 UTC2020-03-13 18:45:35 +0000 UTC 2020-03-13 18:45:35 +0000 UTC 他们要求我提供堆栈跟踪 (Stack Trace) 或 logcat (Logcat)。这是什么? 772 我正在开发一个应用程序,但它不工作。屏幕上出现“不幸的是应用程序已停止”消息,但没有任何反应。 问一个问题,他们问我在 logcat 中的堆栈跟踪,但我不知道它是什么以及从哪里获得它? android 1 个回答 Voted Best Answer pavlofff 2020-03-13T18:45:35Z2020-03-13T18:45:35Z 为了获得解决问题所必需的堆栈跟踪,请考虑屏幕截图: 现在我们执行以下操作。在屏幕上出现应用程序已停止且无法继续工作的悲观信号后,在 Android Studio 中单击底部名称为 Logcat 的选项卡(屏幕截图中的第 1 点)或快捷键6。同时,我们必须确保我们与设备有 IDE 连接,并且我们从测试应用程序的流中读取日志(屏幕截图中的第 2 点) - 这里我们看到我们已连接到 Nexus S com.examle.raschet进程的模拟器- 这是我们损坏的应用程序。 但是日志很大,如何理解我们究竟需要向别人展示什么(或自己阅读)才能了解停止应用程序的原因是什么? 黄色下划线的关键字将帮助我们解决这个问题:异常和引起的,这也是一个明确的迹象,表明我们接下来需要的是一个蓝色链接(屏幕截图中的第 3 点),通常带有出现错误的类的名称(灰色链接指向系统类,并在解决我们的问题时提供信息,因为无论如何我们都不会编辑系统类)和日志中我们应用程序进程的 PID(这里是 3867,请看屏幕截图中的第 2 点)。这里我们被告知问题在第 19 行(屏幕截图中的第 4 点),如果您点击这个蓝色链接,那么我们将在代码编辑器中转到问题行。 现在我们需要复制整个块,从包含日期和时间的行开始,其中有一个异常和对我们类的错误引用,直到下一行包含日期和时间(从标记03 -13 03:18:02.654到标记03-13 03:18:02.656)。如果您自己不解决问题,还需要在问题中添加堆栈跟踪引用的代码行(在我们的例子中是第 19 行)。 这个答案不是为了解释如何解决问题,而只是解释如何获取日志来解决它。通过阅读这个精彩的答案,您可以自己尝试找出堆栈跟踪中写入的内容。
为了获得解决问题所必需的堆栈跟踪,请考虑屏幕截图:
现在我们执行以下操作。在屏幕上出现应用程序已停止且无法继续工作的悲观信号后,在 Android Studio 中单击底部名称为 Logcat 的选项卡(屏幕截图中的第 1 点)或快捷键6。同时,我们必须确保我们与设备有 IDE 连接,并且我们从测试应用程序的流中读取日志(屏幕截图中的第 2 点) - 这里我们看到我们已连接到 Nexus S com.examle.raschet进程的模拟器- 这是我们损坏的应用程序。
但是日志很大,如何理解我们究竟需要向别人展示什么(或自己阅读)才能了解停止应用程序的原因是什么?
黄色下划线的关键字将帮助我们解决这个问题:异常和引起的,这也是一个明确的迹象,表明我们接下来需要的是一个蓝色链接(屏幕截图中的第 3 点),通常带有出现错误的类的名称(灰色链接指向系统类,并在解决我们的问题时提供信息,因为无论如何我们都不会编辑系统类)和日志中我们应用程序进程的 PID(这里是 3867,请看屏幕截图中的第 2 点)。这里我们被告知问题在第 19 行(屏幕截图中的第 4 点),如果您点击这个蓝色链接,那么我们将在代码编辑器中转到问题行。
现在我们需要复制整个块,从包含日期和时间的行开始,其中有一个异常和对我们类的错误引用,直到下一行包含日期和时间(从标记03 -13 03:18:02.654到标记03-13 03:18:02.656)。如果您自己不解决问题,还需要在问题中添加堆栈跟踪引用的代码行(在我们的例子中是第 19 行)。
这个答案不是为了解释如何解决问题,而只是解释如何获取日志来解决它。通过阅读这个精彩的答案,您可以自己尝试找出堆栈跟踪中写入的内容。