3

当我测试我的 android 应用程序时,我会记录显示在 LogCat 上的消息。但是消息很快从窗口顶部排出,因此无法足够快地阅读它们。

我怎样才能阻止这个?

4

5 回答 5

3

logcat 窗口中有一个滚动锁,您可以使用它来暂停打印输出。

要获取完整的 logcat 消息,您可以将它们重定向到文件:

adb logcat >& output.log

于 2013-01-28T22:06:38.987 回答
2

这在某种程度上取决于您所说的“排水”。如果问题只是消息滚动太快而您需要停止自动滚动到底部,您可以在 IDE(或 DDMS/Monitor)中暂停此功能。如何暂停它取决于您的 IDE,在 IntelliJ 中,您只需单击日志输出中的某处即可放置光标,而在 Eclipse 中,logcat 窗口上方有一个按钮可以暂停输出滚动(不要忘记将其转回开,否则您将看不到新消息)。

但是,如果您的问题是记录了太多数据,即使滚动暂停,您也无法向上滚动查看所需内容,那么您需要减少记录。这是因为 Android logcat 驱动程序是一个固定大小的 64KB 循环内存缓冲区。因此,如果您记录了足够多的数据,它将开始覆盖日志中较旧的条目,并且在您有机会阅读它们之前它们就会消失。

于 2013-01-28T22:16:08.053 回答
0

你为什么不过滤 logcat,让它显示你最感兴趣的东西。

您可以使用以下语法仅显示您感兴趣的标签(使用命令行中的 adb 工具 - 在 Eclipse 的 logcat 视图中也可用):

adb logcat TAGTOSHOW:* TAGTOSHOW2:* *:s

您可以根据需要包含任意数量的 TAG 组合。不要忘记 *.s 会使所有其他内容保持沉默。

于 2013-01-28T23:00:31.327 回答
0

我更喜欢打开文件:

adb logcat | tee foo.log | grep "YOUR_TAG_OF_INTEREST"

通过这种方式,您可以在终端窗口中获​​得您认为要查找的任何内容,但是如果您需要查看完整的日志,您可以将它们保存在一个文件中。

于 2013-05-30T17:54:16.957 回答
0

有一些方法:

  1. 禁用自动滚动功能。单击“滚动锁定”按钮以禁用此功能。
  2. 使用命令行工具。运行“adb logcat | less”,您可以浏览结果。您还可以运行“adb logcat > logcat.txt”并在此之后检查 logcat.txt。
于 2013-01-28T22:14:41.693 回答