为什么我在Logcat中看不到我的print语句?

时间:2011-05-22 21:19:02

标签: android debugging logcat

我尝试在我的第一个Android程序上调试代码。我开始使用常规println,它在早期的main(onCreate)方法中工作,在LogCat中显示结果。但是,它似乎在下面不起作用,所以我开始尝试将Log.i / Log.d设置为没有成功。我基本上试图看看程序是否实际运行以下方法 - 虽然LogCat中没有生成打印语句,但我认为代码实际上是在我点击我的应用程序上的“新”或“退出”按钮时运行的,它似乎在case语句中的正确位置并运行finish();

任何帮助都会非常感谢将某些内容打印到LogCat上,所以我可以看到发生了什么。

谢谢

埃德瑞安


 public void onClick(final View v) {

        System.out.println("Here in  - onClick");
        switch (v.getId()) {
        case R.id.about_button:
           System.out.println("Here in  - onClick1");
           Intent i = new Intent(this, About.class);
           startActivity(i);
           break;
        case R.id.new_button:
            System.out.println("Here in  - onClick2");
            finish();
           //openNewGameDialog();
           break;
        case R.id.exit_button:
            Log.i("onDisabled","info");
            Log.d(TAG, "onDisabled");
            System.out.println("Here in  - onClick3");
           finish();
           break;
        }
     }


}//end class



5 个答案:

答案 0 :(得分:7)

我在Eclipse中使用LogCat时遇到过这种情况。 当设备掉落或丢失焦点或使用2个或更多不同设备/模拟器进行调试时,会发生这种情况。

尝试以下方法:

  1. 转到DDMS透视图,然后双击要调试的应用程序或至少双击设备。您应该看到LogCat选项卡充满了新消息。
  2. 删除当前正在使用的设备以外的所有设备。
  3. 再次尝试使用Log。*功能。
  4. 将LogCat过滤器设置为Debug或Verbose。

答案 1 :(得分:1)

如果一切都失败了:

我做了以上所有事情,无法弄清楚出了什么问题,

测试:

adb logcat

要弄清楚我的条目在logcat中是实际的,但是两个人的怪癖。

<强>修正:

  

重启eclipse

这是解决它的唯一问题。

答案 2 :(得分:0)

Jeremy Edwards走在正确的轨道上。您需要打开DDMS透视图并单击设备的名称。然后回到你的主要观点。有时日志仍未显示您想要查看的内容,因此请选择logcat上方带圆圈的“V”。这将显示logcat的详细模式。否则,您可以使用i或d过滤它,它们分别与Log.i或Log.d关联。接下来,滚动到logcat的底部以查看来自设备的最新消息。

答案 3 :(得分:0)

关于杰里米回答的一个澄清。在他说的小费......

  

“删除当前正在使用的设备以外的所有设备。”

它对我来说不起作用,但在我这样做之后进入:

  

运行&gt;调试配置&gt;目标(右侧的标签)

然后点击它工作正常的设备旁边的框。我不确定是否需要删除设备和检查包装盒,或者只是检查包装盒就足够了,但我想只要它完全有效。

答案 4 :(得分:-1)

如果您试图在Eclipse中查看AVD的输出,有时Eclipse和模拟器会断开连接。通常,如果您发出这些命令,事情就会清除:

adb kill-server
adb start-server

打开“设备”视图,确保您看到设备/ AVD。