3

我刚刚开始学习如何为 Android 开发应用程序。目前,我使用Eclipse 4.2 (Juno) 作为IDE。问题是我看不到正常的方法来查看我自己的代码中发生的异常。例如:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    List<BasicObject> objects = _objectRepository.GetAllObjects();
    Iterator<BasicObject> iterator = objects.iterator();

    while(iterator.hasNext())
    {
        ObjectListItemView itemView= new ObjectListItemView(this,iterator.next());
    }
}

onCreate运行时,_objectRepository 为 null,因此抛出 NullReference。之后 Eclipse 显示“找不到源”,这确实不是我所期望的。然后我按F8(继续)多次;进程退出并且调试器停止。只有在那之后,我才能在 LogCat 中看到一些堆栈跟踪(从那里很难导航到我自己的代码)。

如您所见,所有这些捕获异常的过程非常耗时。有没有其他方法可以查看异常,我做错了什么?

我没有使用 Android 模拟器,我使用的是真实设备 ( HTC Desire S )。我已经有 LogCat,但我想要更方便/实用的东西。

为了说明,在 Visual Studio 中,我可以在调试时看到异常。Visual Studio 在发生异常的行上设置了一个中断,我可以在异常窗口中查看我想要的任何信息(堆栈跟踪局部变量,实际上是所有东西)(请参阅{not much used} Debug->Exceptions... 窗口技术) .

在 Eclipse 中,我在 LogCat 中获得了异常详细信息(使用起来非常不舒服),并且只有在调试器停止之后。

4

2 回答 2

1

您可以像这样为 Android 启用 LogCat:

在 Eclipse 中,转到Window -> Show View -> Other -> Android -> Logcat

Logcat 只不过是您的模拟器或设备的控制台。

如何在 Eclipse for Android 中启用 logcat/Console?

于 2012-08-11T11:11:16.943 回答
-1

操作系统必须做一些事情才能向 logcat 发送消息;这些是由(未捕获的)异常触发的。如果您尝试在调试器中单步执行它们,这会很乏味,并且您会经常收到“找不到源”(这是系统代码,而不是您的)。

令人恼火,但可以肯定的是,异常之后发生的任何事情都不会发生在您的应用程序内部,因此您最好还是在那一点停下来。如果您需要快速查看异常的 logcat 报告,只需在没有调试器的情况下运行应用程序即可。

于 2012-08-11T11:13:50.900 回答