【发布时间】:2015-06-26 03:15:52
【问题描述】:
我的应用程序崩溃了。有一瞬间,错误出现在 logcat 中,但很快就被一堆垃圾所取代。如何找到我的错误?我的错误似乎滚动得太快以至于我找不到它。
【问题讨论】:
-
老问题,但如果有人遇到这个问题,这似乎是答案 - stackoverflow.com/a/31040015/535339
标签: android-studio logcat
我的应用程序崩溃了。有一瞬间,错误出现在 logcat 中,但很快就被一堆垃圾所取代。如何找到我的错误?我的错误似乎滚动得太快以至于我找不到它。
【问题讨论】:
标签: android-studio logcat
目前我在Logcat 中过滤日志,所以(插入你的包名):
检查您是否在右侧框中选择了“无过滤器”。有时更改为其他选项(如“Firebase”、“仅显示选定的应用程序”)并返回“无过滤器”会很有用。也许等待 5-10 秒。
我发现搭载 Android 5 (API 21) 的 Pixel 2 模拟器没有显示日志。因此,最好创建 Nexus 5/5X 模拟器。
还有另一种方法。见Android Studio, logcat cleans after app closes。
在 AndroidStudio 中,Logcat 窗口的默认设置似乎 是“仅显示选定的应用程序”(Logcat 的右上角 窗口)...正在查看所选进程的日志(您的 默认情况下当前启动)。因此,当您的应用在测试期间崩溃时, 该过程已经消失,因此过滤器会清除日志。
改为选择“编辑过滤器配置...”并设置过滤器 您的应用,例如:
- 过滤器名称:我的应用程序
- PackageName:com.example.myapp(
...然后选择该过滤器以供将来运行。这应该保持 即使在应用程序崩溃后也可以为您登录。
所以你可以在Log Message 字段中写下你的包名。为此,请在LogCat 中按Edit Filter Configuration
并设置日志信息:
【讨论】:
根据我的经验,我刚刚发现每次我的应用程序崩溃时我都会在 logcat 中使用此选项(参见图片)。即使它崩溃了,它也会显示默认的应用程序包名称(带有黄色箭头的那个)。因此,您必须从下拉列表中选择包名称 [DEAD] 选项(带有黄色复选标记),然后选择错误(蓝色圆圈)。并且应该显示错误。
【讨论】:
在 Log Cat Box 的右上角,您应该会看到一个下拉选择器,上面写着“Log Level: Verbose”,选择它并选择“Error”。这应该会过滤掉所有非错误日志,因此您只需向上滚动即可找到您要查找的日志。
希望这会有所帮助 - 凯文·格劳特
【讨论】:
您可以使用调试器模式 (debugger android studio) .只需在崩溃发生之前执行的方法中放置一个断点。然后,您可以通过按“跳过”图标来跟踪该过程,直到发生崩溃。您应该能够查阅 Logcat 中的崩溃报告。
【讨论】: