为什么logcat没有显示任何内容?

43

我正在使用Eclipse经典版开发我的Android应用程序。但我无法在LogCat中看到任何消息。昨天它还能显示每条消息,但现在却什么也没有。我已经写了很多日志语句来跟踪我的程序,但由于这个问题,我现在无法跟踪。

问题出在哪里?


你清除了adb logcat命令的日志吗,adb logcat -c? - NyanLH
我刚刚重新连接了我的设备,它正在运行。 - user8694522
19个回答

70

首先尝试以下方法:

  1. 前往“设备”选项卡,点击你的设备,然后切换回“Logcat”选项卡。
  2. 你可能设置了筛选器。
  3. 你可能正在查看错误的应用程序包。

5
+1并重新加载Eclipse有帮助。 - Sydwell
1
这让我完全崩溃了,因为昨晚还能用,但今天早上就不行了!谢谢! - BSnapZ
2
当我使用IDE模板时,Android Studio向我的一个片段添加了一个虚拟的监听器接口。这导致了一个类转换异常,超出了我的当前项目过滤器范围。 - Justin Wiseman
1
包名正确,设备正确,我设置了“无过滤器”来检查是否有任何内容……但是什么也没有被打印出来!我使用的是Nexus 9 API 17基于ARM的模拟器?!?!? - Bhuro
2
重启工作室对我有用... - Bhuro
显示剩余2条评论

36
我通过以下步骤解决了问题:
  1. 关闭logcat窗口

  2. 在命令提示符中运行以下命令:

adb kill-server
adb start-server
  1. 重新打开logcat

我尝试了以上所有答案,只有这个对我有效,谢谢。注意:可以使用任务管理器代替命令提示符来终止adb,然后再次运行应用程序。 - user2814778
谢谢。这是唯一对我有效的修复方法。 - Adam Maloney
只有这个对我有效。真的很令人沮丧,为什么日志突然不显示了。尝试了所有方法,就像有时候只能靠运气才能看到。现在问题得到解决。 - Santhosh
这对我也没用(除了首先尝试接受的答案(https://dev59.com/PWkw5IYBdhLWcg3w9_Qi#9529698)之外)。 - WebViewer
这对我也没用(除了首先尝试接受的答案(https://stackoverflow.com/a/9529698/2597758)之外)。 - undefined

10

前往 窗口 - 首选项 - Android - Logcat。 在该页面上,“如果消息优先级至少为”中选择VERBOSE,将显示logcat视图。

Preferences-Android_logcat


2
请在您的答案中始终解释这段代码的作用以及如何解决问题。这将非常有帮助。 - Benjamin Basmaci
这对我也没用 -- 尝试了 https://dev59.com/PWkw5IYBdhLWcg3w9_Qi#9529698 和 https://dev59.com/PWkw5IYBdhLWcg3w9_Qi#20193542 之后 -- 似乎让 LogCat 工作有很多前提条件。 - WebViewer

10

我偶尔会遇到在Eclipse中logcat输出突然停止显示任何日志的情况。无论我是插拔设备还是怎样,都没用。看起来问题出现在logcat接收到大量消息时,无法处理这些消息。

唯一可行的方法就是重新启动Eclipse或直接使用DDMS(但它也存在同样的问题)。


9

当你长时间不关闭eclipse时,就会出现这种情况。只需关闭eclipse并重新打开,你的问题应该就会解决。


1
它还没有解决。 - Yogesh Seralia

7

正确答案:这是Eclipse中的一个bug。 我所做的只是重命名其中一个过滤器并按下“运行”按钮。

重新启动Eclipse会解决这个问题。


6
在Eclipse中,依次点击:窗口->首选项
然后进入Android->Logcat,确保您已经进行了以下设置:
1. 双击操作: "转到问题(错误行)"
2. 切换到:Java
3. 两个复选框都被选中

如果您的设置没有问题,请清理项目并重新启动Eclipse。

祝好运!

4
有时在较慢的计算机上,Eclipse可能会等待模拟器的主屏幕,等待时间过长后显示模拟器离线。 其次,请确保您正在查看正确的筛选器或所有消息部分。
另外,您可以执行以下操作:
1.选择设备并找到您的进程(例如“com.android.myapp”) 2.查找其左侧写有的进程ID(例如17260) 3.现在转到logcat并通过书写特定名称和特定Pid(例如17260)添加一个新的筛选器 4.现在选择该筛选器,您将能够看到您的日志消息
祝你好运!

3
我曾遇到过同样的问题,但放弃了eclipse的logcat面板并转而使用cygwin+adb:
  1. 确保应用程序正在运行,并启动cygwin
  2. cd /cygdrive/c/android_sdk/sdk/platform-tools #转到adb.exe所在的位置
  3. [可选] ./adb logcat -c #清除日志,如果您想查看一些旧消息,请显然不要这样做
  4. ./adb logcat #查看所有消息
  1. ./adb logcat | grep "whatever" #只查找您想要查找的内容

尝试了所有列出的其他解决方案,但都无济于事。虽然我仍然希望它能在Eclipse的logcat面板中显示,但至少这个命令行选项让我获得了所需的信息。感谢您提供的想法。 - Alex

1

我尝试了以上所有解决方案,但都没有起作用。然后,我发现有一个名为“R”的按钮,突然有一个灵感,我将它重新命名为:

R1=(Button) findViewById(R.id.button1);

也许它与Android的R发生冲突,以及一个名为“R”的按钮的Java名称有关。
好消息是错误已经解决了。
以下是结论步骤:
1. 检查是否有任何变量(按钮、文本视图)名称为“R” 2. 保存您的项目,关闭Eclipse,然后再次打开。 3. 项目-->清理 4. 移除import android.R; 5. 正确答案:这是/曾经是Eclipse中的一个错误。我所做的只是重命名其中一个过滤器并按下运行按钮。重新启动Eclipse即可解决问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接