Logcat没有显示我的日志调用

116
我是Android编程的新手,想学习如何调试我的应用程序。我似乎无法在LogCat中显示我的Log.i|d|v调用。
这是我正在使用的代码。如您所见,我已经定义了一个LOG_TAG常量,但似乎在LogCat中找不到它。我还导入了android.util.Log,而且我已经确保在我的AndroidManifest中设置了"debuggable"为TRUE。
我还检查了http://developer.android.com/reference/android/util/Log.html,但没有解决这个问题的运气。
我做错了什么?我甚至在正确的地方看吗?我也尝试使用DDMS和Debug透视图,但都没有成功。任何对这个新手的帮助都将不胜感激。谢谢。
我的环境: Windows XP IDE = Eclipse版本:3.6.1,Build id:M20100909-0800 模拟器 = 将其指向android sdk 2.1 api 7
//非常基本的HELLO World代码,带有几个Log.i调用
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class debugger extends Activity {
    private static final String LOG_TAG = "debugger";

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        Log.i(LOG_TAG, "line 13");
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Log.i(LOG_TAG, "CREATING NOW");
    }
}

看起来你没有做错什么,你确定你的Activity已经启动了吗?你在logcat视图中有设置任何过滤器吗?你尝试过logcat的命令行版本吗?(adb logcat) - Cheryl Simon
是的,我尝试了命令行并将输出保存到txt文件中,但仍然找不到它。我知道Activity已经启动,因为我在模拟器中看到了“Hello World”消息。我尝试使用和不使用过滤器查看logcat,但仍然没有运气。 - Cavachon
尝试使用命令行adb logcat,首先不要过滤任何内容。我非常确定你的代码正在工作并打印到日志中。 - Heikki Toivonen
LogCat有用吗?例如,您是否可以看到来自其他应用程序(例如系统应用程序)的日志条目? - Vit Khudenko
可能是设备特定的。有时我们需要从手机的隐藏菜单中启用日志记录。https://dev59.com/rmMl5IYBdhLWcg3wyJfz#43999262 - Nitesh Tiwari
31个回答

0
使用SDK 4.0.3时,您必须在调试配置 > 项目 > 目标中明确选择它,否则在Eclipse Indigo(3.7)中将永远不会显示。当然,这之后需要重新启动Eclipse。

0

对我来说最好的解决方案是重启adb服务器(同时我已经在Android Studio - 工具 - Android中启用了ADB集成 - 已选中)。为了快速完成这个操作,我在android-sdk\platform-tools目录下创建了一个adbr.bat文件(其中包含adb.exe),内容如下:

adb kill-server
adb start-server

因为我在PATH系统变量中有这个文件夹,所以每当我需要从Android Studio重新启动adb时,我只需在终端中输入adbr即可完成。

另一种选择是通过Android设备监视器设备选项卡 - 单击右侧小箭头后的菜单 - 重置adb来完成。


0
有时候问题并不是来自电脑或者IDE、ADB等,而是源于你的设备没有将日志发送到ADB。如果你已经尝试了之前提到的所有方法,但仍然无法在logcat中看到任何内容,那么请尝试重新启动你的设备并再次尝试。我之前也尝试了所有提到的方法,但都没有奏效,但在我重新启动手机后,logcat就像魔术一样正常工作了。

如何检查设备是否能够将日志发送到ADB? - JCarlosR
@JCarlos 如果上述解决方案都没有起作用,尝试重新启动您的设备。 - Code_Worm
AndroidMonitor在我使用Log并从智能手机运行应用程序时显示消息,但在我的智能手表上无法工作。我查看了设置,但似乎一切正常。 - JCarlosR

0

我曾经遇到过这个问题,但是直到我将日志调用移动到处理程序中,才发现它每次都能正常工作,无论你在哪里。


0

我犯了一个错误,在logcat搜索框中输入了一个搜索词。我忘记删除它,因此无法看到新的日志。因为它们不匹配我的搜索词,所以没有显示出来。


0

其他答案对我都没用,但这个有用:

我将我的项目从工作区中移除,然后删除了项目文件夹中以点号开头的任何内容(如.settings、.project等)。然后重新导入了该项目。虽然缺少一些设置和断点,但至少它可以工作了。


0

针对Eclipse: 1)进入DDMS视图。 2)确保选择了正确的设备。 3)如果已经选择但没有显示日志,则重启ABD。 * 希望这能解决问题。


0
在我的情况下,我只需要向字符串中添加一个名称。在第一次尝试时,我只是在括号之间加了一个空格。
private static final String TAG = " ";

但在添加了名称后,它完美地工作了。

private static final String TAG = "oncreate";

0

我有一个问题并已解决,字符串TAG没有空格:

"my tag" // 无显示
"my_tag" // 正常


0

在升级到Android 3.6.1之后,我已经多次遇到了这个问题。 在我的情况下,唯一有效的方法是重新启动设备。


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