【问题标题】:How can I stop the LogCat output from scrolling automatically in Eclipse?如何阻止 LogCat 输出在 Eclipse 中自动滚动?
【发布时间】:2011-10-19 23:35:04
【问题描述】:

更新:这原来是 SDK 工具 R14 中的一个错误。它已在 2013 年 10 月 27 日发布的 R15 中得到修复。更新到最新版本可解决已接受答案中建议的问题。

我使用 Eclipse 调试视图中的 LogCat 窗口来诊断和修复我的代码中的崩溃。我注意到,只要添加新行,LogCat 输出就会自动向下滚动(但只有在您自己滚动到底部之后)。

如果我正在等待异常堆栈跟踪出现,这很好,但如果我试图读取日志中的某些内容并且在底部继续添加更多行(它一直跳到底部,所以我滚动回错误,然后它又跳到底部)。

有什么方法可以让它在我放置时停留在我放置的位置,但在我到达底部时继续自动滚动?

编辑:请注意,我知道过滤器,我不认为这是解决问题的方法。

另一个编辑:如果我从底部向上滚动“足够远”,它会自动停止滚动。足够远可能是 5 行,也可能是 500 行,这似乎与日志中有多少行有关。理想情况下,只要我离底部至少 1 行,它就会停止滚动。

【问题讨论】:

  • 您安装了哪个版本的 ADT? R14 现已推出,性能可能更好
  • 这一直发生在我身上,但在最新版本中似乎更具侵略性。
  • 或者使用 ddms 透视图全屏(或接近)查看 logcat 输出...我发现这让生活更轻松。
  • 接受与我一周前所说的相同的答案并不好。至少我很高兴你的问题终于解决了。
  • 抱歉@Sergio,我为选择哪一个而犹豫不决,但我选择了 Josephus 的答案,因为解决方案表述得更清楚。

标签: android eclipse android-logcat


【解决方案1】:

在最右上角的 LogCat 选项卡中,有一个 下方有一条线的向下箭头可启用

“滚动锁定”

在旧版本上,它是一个暂停按钮

“暂停接收新的 logcat 消息”

这应该可以解决问题!

【讨论】:

  • 注意:“滚动锁定”按钮激活会开启自动滚动(对于我们这些几乎不记得键盘上的滚动锁定键的人来说,这有点令人困惑)。我仍然看到这种行为:向上滚动 logcat,关闭滚动锁定。消息到达我的“adb logcat”会话,但被 eclipse 过滤掉。 eclipse 中的 Logcat 显示略有跳跃(但不会到底部)
  • @Bojan,您需要禁用 automatic state change,因为 Eclipse 试图在智能 IDE 不应该尝试智能的事情上变得聪明。
【解决方案2】:

更新到最新版本。当您通过 Eclipse 构建和启动应用程序时,新的 logcat 会自动将您的日志过滤到特定于应用程序的崩溃日志中。

【讨论】:

  • 我正在运行 R14。我正在开发的应用程序很大并且有很多输出,因此在查看特定于应用程序的日志时它仍然是一个问题。
  • 结合使用错误过滤器和标签过滤器。我不明白为什么你仍然从其他应用程序获取日志。
  • 我没有从其他应用程序获取日志。我正在开发的应用程序有大量的日志输出。
  • 您可以更改您要捕获的特定日志的标签。您甚至可以在要查找的日志文本中“搜索匹配项”。
  • 最后一次解决您的问题 - 将您的 adb logcat 传输到一个文本文件中(当然,应用必要的过滤器)。 adb logcat > logs.txt
【解决方案3】:

我不再遇到禁用选项的问题:根据滚动条位置自动启用/禁用滚动锁定。

Window> Preferences> Android> Logcat> 取消勾选上面的选项。

就我而言,我使用的是 Eclipse + Android 开发者工具(内部版本:v22.6.2-1085508)

我建议如果我想使用 eclipse,从这个链接下载完整的包: http://developer.android.com/sdk/index.html

下载后,下载所有可用更新,少 NDK。

【讨论】:

    【解决方案4】:

    这不是发生在我身上的事。如果我向上滚动它不会在新行到达 logcat 时自动向下滚动,直到我将它滚动到底部。 可能是因为 Eclipse 或 Android SDK 版本。我现在用的是最新的。

    【讨论】:

    • 我也在用最新的。也许这与我注意到的其他事情有关:如果我从底部向上滚动“足够远”,它会自动停止滚动。足够远可能是 5 行,也可能是 500 行,这似乎取决于日志中有多少行。
    • @howettl,您需要禁用 automatic state change,因为 Eclipse 试图在智能 IDE 不应该尝试智能的事情上变得聪明。
    【解决方案5】:

    您可以在 shell 中执行 adb logcat,并使用终端应用程序的滚动缓冲区和滚动功能来管理 logcat 输出。

    【讨论】:

    • 我更愿意使用 Eclipse 版本。如果我没有猫图标,我的工作效率会急剧下降:)。
    • 不一定非要非此即彼。您可以在运行 Eclipse logcat 视图的同时在 shell 中使用 logcat。
    • 我明白你在说什么,但如果我可以更改某种设置来控制输出在 Eclipse 中的滚动方式而不是在两个窗口之间来回跳转,那就更好了.
    【解决方案6】:
    Window => Preferences => Android => Logcat
    

    取消选中名为:

    Display logcat view when there are messages from 
    an application into the workspace
    

    【讨论】:

    • 这可以防止 logcat 视图自行出现,但不会阻止它滚动。不过谢谢!
    • @Olivier,奇怪的是这个选项似乎不存在。
    【解决方案7】:

    如果您只是调试崩溃,请单击您的主 logcat 的红色 (E)(错误)过滤器,并将您的过滤器选项卡设置为默认值以查看您的应用程序报告的所有行。

    最终会发生什么,当您的应用程序崩溃时,它会保持关闭状态,除非您选择要求重新启动。因此,logcat 中的最后一行将是崩溃报告。这是我调试崩溃的方法之一。

    【讨论】:

    • 这是一个有趣的解决方法,但在我不查找错误的情况下它没有帮助。
    【解决方案8】:

    我也认为自最新更新以来它“更具侵略性”!当我向上滚动 10 行或更多行时,它实际上会停止自动滚动。

    我拥有的最佳解决方案是单击您感兴趣的行。如果 logcat 向下滚动太远而您再也看不到您的行,只需按 ArrowUp 或 ArrowDown 即可跳回您正在查看的行.

    【讨论】:

    • 我很高兴听到这个问题并不孤单。我不知道向上/向下会反弹回选定的行,这是有效的,但不是问题的解决方案。如果我向上移动一定量,它会停止自动滚动,但有时会很远(超过 10 行)。
    • 实际上我已经安装了 R15,就像 Josephus Villarey 建议的那样。只有当我向上滚动至少 10 行时,自动滚动才会停止 O_o
    • 是的,它大约需要 10 行才能以 R15 停止。使用 R14,它远远超过 10(至少对我来说……不同的用户似乎报告了不同的结果)。
    【解决方案9】:

    如果您在搜索框中输入 pid:pidofyourapp(在设备选项卡的在线列下),它将显示您在应用程序中编写的日志。

    【讨论】:

      猜你喜欢
      • 2013-08-07
      • 2012-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-19
      • 2023-03-22
      • 2012-04-10
      • 1970-01-01
      相关资源
      最近更新 更多