由于其他不需要的输出充斥着logcat,我的应用程序的logcat输出不断消失

时间:2014-05-22 09:20:33

标签: android eclipse logcat

在Moto G上开发我的应用程序时,我经常会遇到成千上万的以下消息。

E/MM_OSAL (  275): isSamePayload Sync byte(0x47) not found!! m_nCurrOffset=0
E/MM_OSAL (  275): isSamePayload Sync byte(0x47) not found!! m_nCurrOffset=0
... repeated 20000 times in a span of 12 secs
D/WifiStateMachine(1004): processMsg: L2ConnectedState
D/WifiStateMachine(1004): handleMessage: X
D/WifiStateMachine(1004): handleMessage: E msg.what=131155
... repeated 15000+ times all interspersed together

现在,我当然设置了Logcat过滤器,但所有这些消息都填满了logcat缓冲区,我自己的调试消息也在不断消失。

观察

  • 无论使用Android Studio还是Eclipse,都会发生这种情况。这意味着问题出在Logcat上,而不是我想如何处理IDE。
  • 根据this question,我应该增加默认的logcat缓冲区大小或将其设置为无限(0),但由于这些垃圾邮件不断堆积的速度,这仍然无法解决。< / LI>
  • 如果我重新启动手机,它会在垃圾邮件赶上前几分钟清除logcat。

如何从溢出的Logcat缓冲区中阻止这些不需要的消息?

更新:好的我觉得我找到了一些线索。 logcat缓冲区未被清除

$ ./adb logcat -g
/dev/log/main: ring buffer is 256Kb (255Kb consumed), max entry is 5120b, max payload is 4076b
/dev/log/system: ring buffer is 256Kb (0Kb consumed), max entry is 5120b, max payload is 4076b
$ ./adb logcat -c
$ ./adb logcat -g
/dev/log/main: ring buffer is 256Kb (255Kb consumed), max entry is 5120b, max payload is 4076b
/dev/log/system: ring buffer is 256Kb (0Kb consumed), max entry is 5120b, max payload is 4076b

正如您所看到的,main缓冲区未被清除 - 也许这就是我的应用程序消息未进入logcat的原因。

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作来抵消此问题:

1)转到Eclipse-&gt; DDMS-&GT;设备并单击您的设备列表。

2)假设您安装了 adb ,请转到命令提示符并键入

adb logcat > logs.txt

这会将logcat消息转储到logs.txt文件中,然后您可以打开它并解析调试消息的日志以获得您想要的内容。