Android Studio,在应用关闭后清除logcat


133

自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

编辑:我确实读过有关断点的信息,所以禁用了应用程序将其焦点放在“设置-构建”,“执行”,“部署-调试器”中的断点上,但没有任何效果。


2
如果找到adb程序的安装位置,则可以adb logcat从终端或命令窗口中运行,还可以选择将其通过管道传至pager,grep,tee或其他任何内容。
克里斯·斯特拉顿

1
是的,您也可以尝试一下adb shell bugreport > log.txt,命令完成后将获取各种日志信息。
2015年

@yummy目前对我来说是最好的,但仍然希望找到解决方法,因为这不是我认为的最佳方法。谢谢
黑莲花

1
我没有找到任何解决方案无法使用Android Studio 1.2清除日志,但是一个简单的解决方案是在应用程序崩溃时不要单击关闭按钮(在设备上)。因此,您拥有所有日志以及应用程序崩溃的原因。
Chakir

@Jameltheone消息仅在屏幕上停留几秒钟,然后关闭崩溃对话框本身。因此,实际上并没有控制权。
黑莲花

Answers:


270

我遇到了同样的问题,但看起来更像是功能而不是错误:

在AndroidStudio中,Logcat窗口的默认设置似乎是“仅显示选定的应用程序”(Logcat窗口的右上角)...正在查看选定进程的日志(默认情况下,当前启动)。因此,当您的应用在测试期间崩溃时,该过程就消失了,因此筛选器将清除日志。

而是选择“编辑过滤器配置...”并为您的应用设置过滤器,例如:

  • FilterName:MyApp
  • PackageName:com.example.myapp(<<替换为应用程序的程序包名称)

...然后选择该过滤器以备将来运行。即使应用程序崩溃,这也应该为您保留日志。


非常感谢。2天前我一直在找出错误!现在,我知道如何真正查看错误了。:)
Woppi

您是SAVIOR的管理员,试图在清除日志之前复制粘贴...以为这是我的手机在做,因为其他手机的行为正常。
法蒂大师

正是我所缺少的。这应该是公认的答案。
润滑脂

有同样的问题。完美运作。
Chandan Pednekar '18

59

将“仅显示选定的应用程序”切换为“无过滤器”。这样,即使该进程未运行,您也可以看到该进程的logcat输出。

缺点是您的logcat会被其他进程中的垃圾邮件所淹没。


1
要过滤掉垃圾邮件,请在搜索栏中在“仅显示选定的应用程序/不过滤器”下拉列表中键入您自己的应用程序包名称。
Computingfreak

24

我的应用崩溃了,然后重新启动。在阅读日志猫以了解发生了什么时,我也遇到一些问题。然后,我注意到在下拉菜单中,设备下拉菜单旁边有一个类似“ com.mypackage.myapp('某个数字')”的内容,当我的应用崩溃时,还有另一个选项 “ com.mypackage.myapp( 'some number')[DEAD]”。如果选择“死”选项,它将显示前一个实例的日志。

死猫


崩溃时显示。
ALourenco

我的意思是崩溃。PID更改,但已失效实例未显示在列表中。
卡兰·莫迪'18

20

如果发生崩溃,请参阅RunIDE底部的选项卡。

您可以在此部分看到崩溃原因(即使在logcat干净的情况下)。

注意:如果上述技巧无效,请尝试造成崩溃并立即断开移动电缆的连接(如果您使用真实设备进行测试)。您可以在清除错误之前看到该错误。

更新: 如果以上技巧也无法解决,请尝试连接和分离手机,并希望问题得以解决。

Update2:如果再次无法使用,请尝试使捕获无效并重新启动,然后再次开始调试。

Update3:作为最后一种方法,尝试删除该应用程序并再次安装它,然后开始调试(如果您没有失去要测试的条件)


6

在Android Studio 2+中

  1. 请点击 Run

  2. 请点击 Edit Configurations

  3. Run/Debug Configurations窗口中选择Miscellaneous选项卡

  4. 确保Clear log before launch未选中该复选框


4

我也遇到过同样的问题,这就是解决方案:

1-工具-> Android->启用ADB集成。

现在您可以正常看到logcat和崩溃


我的ADB集成已经足够令人遗憾地启用了。maby有用的是,它清除后得到以下消息:04-13 10:28:13.394 12259-12265 / android.process.acore D / dalvikvm:调试器已分离;对象注册表具有1个条目
Black Lotus

@BlackLotus您解决了您的问题吗?我面临着同样的问题在这里
胡胡

这在新的Android Studio中不再有效。
Hamzeh Soboh,

4

一旦应用崩溃,过滤器将清除日志。因此,选择“编辑过滤器配置”并使用过滤器名称创建自己的自定义过滤器。即使应用程序崩溃,这也将保存带有信息的日志。


1

现在是2018年,这仍然可能发生。关闭Android Studio并重新打开。


0

新版本的Android Studio 1.2.2似乎已修复了该错误。


1
该缺陷是仍然在这里,即使是在Android Studio中2.2.2,所以我想@maxdownunder是非常正确的假设,这的确是一个...“功能”
Aenadon

0

我遇到了同样的问题,没有答案可以帮助我,直到我意识到我的应用程序引起了OutOfMemoryException。这也是可能的根本原因。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.