我知道如何过滤掉 LogCat 中的消息,所以这不是我要问的。
问题是某些电话比其他电话“更嘈杂”,并且会淹没 LogCat 缓冲区,从而触发一个错误,使其丢弃较新的消息。
这个问题不会发生在 Nexus One 上,但它确实发生在三星 Continuum i400 上。
有没有办法告诉 Android 或 LogCat完全丢弃(即不过滤)来自某些进程的消息?
我知道如何过滤掉 LogCat 中的消息,所以这不是我要问的。
问题是某些电话比其他电话“更嘈杂”,并且会淹没 LogCat 缓冲区,从而触发一个错误,使其丢弃较新的消息。
这个问题不会发生在 Nexus One 上,但它确实发生在三星 Continuum i400 上。
有没有办法告诉 Android 或 LogCat完全丢弃(即不过滤)来自某些进程的消息?
据我所知,没有办法阻止任何应用程序向 logcat 发布任何内容。你所能做的就是在捕获之前清除日志,然后过滤掉你不想看到的东西。例如:
adb logcat -c
adb logcat BadProcessName:S MyProcessName:V > log.txt
CTRL-C
我希望这有帮助。
“清除日志”有时有效。有时它不会。
当“清除日志”没有帮助时,不需要重新启动 Eclipse。您所要做的就是Devices
在 DDMS 透视图中显示视图,LogCat 消息将神奇地再次开始出现。
然后您可以关闭Devices
视图(如果您不需要它)。
正如@Emmanuel 所提到的,正如我在评论中所提到的,我不相信有办法阻止其他应用程序发布日志消息。您可以过滤它们,但不能完全阻止它们。
当我遇到这个问题时,我发现的最简单的解决方案是简单地点击 Eclipse 中的“清除日志”按钮。
那应该清除缓冲区(至少在嘈杂的应用程序再次填满它之前)。您可以随时单击该按钮,因此我发现在执行要调试的操作之前清除日志最有帮助。
我想另一种选择是完全终止该过程。如果嘈杂的应用程序对您尝试调试的应用程序并不重要,您可以结束该过程。
在这种情况下,最好的办法是使用过滤器功能仅显示来自应用程序的日志。您可以按 PID 或应用程序名称进行过滤。
单击绿色加号按钮为您的应用创建过滤器。
您可以重新启动设备以阻止进程淹没logcat 这是我每次使用的解决方案