Android Studio,logcat 在应用程序关闭后清理
Posted
技术标签:
【中文标题】Android Studio,logcat 在应用程序关闭后清理【英文标题】:Android Studio, logcat cleans after app closes 【发布时间】:2015-06-16 14:50:31 【问题描述】:自 android Studio 更新 1.2 Beta 以来,我的 logcat 出现问题。当我运行我的应用程序时,它会像往常一样记录所有内容,然后我的应用程序崩溃,应用程序说:不幸的是,游戏已停止。
几秒钟后,android 会关闭该消息。 发生这种情况时,我的 logcat 也会被完全清除,这意味着我几乎没有时间阅读错误。我确实找到了一些关于缓冲区的信息,但似乎 Android Studio 没有增加的选项除了我怀疑这是问题的事实之外。
可能有用的是,在它清除并填充之后,进程更改为 Android.process.core 并且我在 logcat 中收到的消息是:
04-13 10:28:13.394 12259-12265/android.process.acore D/dalvikvm﹕
Debugger has detached; object registry had 1 entries
编辑:我确实阅读了有关断点的信息,因此在设置-构建、执行、部署-调试器中禁用了断点上的焦点应用程序,但它没有任何效果。
【问题讨论】:
如果您找到了 adb 程序的安装位置,您可以从终端或命令窗口运行adb logcat
,并可选择将其通过管道传输到寻呼机、grep、tee 或其他任何地方。
是的,你也可以试试adb shell bugreport > log.txt
,命令完成后会获取各种日志信息。
@yummy 目前对我来说是最好的,仍然希望找到解决方法,因为在我看来这不是最好的方法。谢谢
我没有找到任何不使用 Android Studio 1.2 清理日志的解决方案,但一个简单的解决方案是在应用程序崩溃时不点击关闭按钮(在设备上)。因此,您拥有所有日志以及应用崩溃的原因。
@Jameltheone 消息仅在屏幕上停留几秒钟。然后它会自行关闭崩溃对话框。所以不要真正控制它。
【参考方案1】:
我遇到了同样的问题,但看起来更像是一个功能而不是一个错误:
在 AndroidStudio 中,Logcat 窗口的默认设置似乎是“仅显示选定的应用程序”(Logcat 窗口的右上角)...正在查看选定的日志进程(默认情况下您当前的启动)。因此,当您的应用在测试期间崩溃时,该过程就消失了,因此过滤器会清除日志。
改为选择“编辑过滤器配置...”并为您的应用设置过滤器,例如:
过滤器名称:我的应用程序 PackageName:com.example.myapp(...然后选择该过滤器以供将来运行。这应该会为您保留日志,即使在应用崩溃后也是如此。
【讨论】:
非常感谢。两天前我一直在找出错误!现在我知道如何真正查看错误。 :) 你是救世主在清除之前试图复制粘贴日志......我认为这是我的手机在做的,因为其他手机运行正常。 正是我所缺少的。这应该是公认的答案。 有同样的问题。完美运行。 布拉沃布拉沃布拉沃【参考方案2】:将“仅显示选定的应用程序”切换为“无过滤器”。这样,即使该进程没有运行,您也可以看到该进程的 logcat 输出。
缺点是您的 logcat 将充满来自其他进程的更多垃圾邮件。
【讨论】:
要过滤掉垃圾邮件,请在“仅显示选定的应用程序/无过滤器”下拉菜单之外的搜索栏中输入您自己的应用程序包名称。 太神奇了,谢谢【参考方案3】:如果发生崩溃,请参阅 IDE 底部的 Run
选项卡。
您可以在这部分看到崩溃原因(即使在 logcat clean 情况下)。
注意:如果上述技巧不起作用,请尝试产生崩溃并立即断开移动电缆(如果您使用真实设备进行测试)。您可以在清理之前看到错误。
更新:如果上述技巧也不起作用,请尝试连接和分离手机,希望问题解决。
Update2:如果再次不起作用,请尝试使捕获无效并重新启动,然后再次开始调试。
Update3:作为最后一种方法,尝试删除应用并重新安装,然后开始调试(如果您不丢失要测试的条件)
【讨论】:
【参考方案4】:我的应用程序崩溃并重新启动。我在阅读 logcat 以了解发生了什么时也遇到了一些问题。然后我注意到在下拉菜单中,在设备下拉列表旁边它有类似 "com.mypackage.myapp ('some number')" 的内容,当我的应用程序崩溃时,还有另一个选项说“com.mypackage.myapp('一些数字')[DEAD]”。如果选择“Dead”选项,它会显示上一个实例的 logcat。
【讨论】:
崩溃时出现。 我的意思是崩溃。 PID 发生变化,但死机实例未显示在列表中。【参考方案5】:参加聚会可能会很晚,但我遇到了同样的问题并像这样解决了:
在logcat窗口右上角下拉菜单中选择Edit filter configuration
,在下一个菜单中,介绍Filter name
和你的Package name
。
完成,对我来说,它在崩溃后保持日志可见。
【讨论】:
这对我有用 :) tnx【参考方案6】:在 Android Studio 2+ 中
点击Run
点击Edit Configurations
在Run/Debug Configurations
窗口中选择Miscellaneous
选项卡
确保Clear log before launch
复选框未被选中
【讨论】:
【参考方案7】:我正在使用 Android Studio 4.0 enter image description here
-
转至应用的编辑配置。
转到其他选项卡
取消选中启动前清除日志字段。
按确定。
它会工作的..
【讨论】:
没用【参考方案8】:一旦应用崩溃,过滤器就会清除日志。因此,选择“编辑过滤器配置”并使用过滤器名称创建您自己的自定义过滤器。即使应用程序崩溃,这也会保存带有信息的日志。
【讨论】:
【参考方案9】:我遇到了同样的问题,这就是解决方案:-
1- 工具 --> Android --> 启用 ADB 集成。
现在您可以正常查看 logcat 和崩溃
【讨论】:
不幸的是,我的 ADB 集成已经启用。可能有用的是,在它清除后我收到消息:04-13 10:28:13.394 12259-12265/android.process.acore D/dalvikvm:调试器已分离;对象注册表有 1 个条目 @BlackLotus 你的问题解决了吗?我面临同样的问题here 这在新的 Android Studio 中不再有效。【参考方案10】:现在是 2018 年,这仍然可能发生。关闭 Android Studio 并重新打开。
【讨论】:
【参考方案11】:Android Studio 1.2.2 版的新版本似乎修复了这个错误
【讨论】:
这个错误仍然存在,即使在 Android Studio 2.2.2 中也是如此,所以我猜@maxdownunder 假设它确实是一个......“功能”【参考方案12】:我遇到了同样的问题,但没有一个答案可以帮助我,直到我意识到我的应用程序导致了 OutOfMemoryException。这也是一个可能的根本原因。
【讨论】:
【参考方案13】:7 年后...
我在 AS ArcticFox 上仍然遇到同样的问题,但没有任何帮助。
但我找到了一种解决方法。
-
确保已启用:
-
然后,无论应用程序是否处于活动状态或设备是否连接,您都可以看到您的日志。太棒了!
【讨论】:
【参考方案14】:尽管如此,有时我还是会遇到这个问题,尽管有些解决方案在这里有效,例如重新启动 android studio 需要时间。
在这里我找到了如何在不重新启动工作室的情况下获取错误消息
-
启动应用程序
在重现崩溃之前,请在运行选项卡上
崩溃时点击运行标签的内容(不点击内容会丢失报错)
【讨论】:
以上是关于Android Studio,logcat 在应用程序关闭后清理的主要内容,如果未能解决你的问题,请参考以下文章
5.1Android Studio用Logcat编写和查看日志
Firebase 注册令牌未显示在 Android Studio logcat 中