我刚开始学习如何为Android开发应用程序。目前,我使用Eclipse 4.2(Juno)作为IDE。问题是我看不到正常的方式来查看我自己的代码中发生的异常。例如:如何在Eclipse中调试Android时查看异常详细信息?
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是空,所以NullReference被抛出。之后,Eclipse显示“Source not found”,这实际上并不是我所期望的。然后我多次按下F8(继续);该进程退出并且调试器停止。只有在那之后,我才能在LogCat中看到一些堆栈跟踪(从那里很难导航到我自己的代码)。
正如你所看到的,捕获异常这一切的过程实在是耗时。有没有其他的方式来查看异常,我做错了什么?
我不使用Android仿真器,我使用的是真实设备(HTC Desire S)。 我已经有LogCat,但我想要更方便/实用的东西。
为了说明,在Visual Studio中,我可以在调试时看到异常。 Visual Studio的设置在哪里发生异常,我可以看到我想要的任何信息的线路断路(堆栈跟踪本地变量,所有的东西实际上)在异常窗口(见The {not much utilized} Debug->Exceptions… window technique)。
在Eclipse中我得到异常的详细信息在logcat中(这是非常不舒服的使用),只有调试器停止后。
我认为“用VS”你不是指VS中的android? Logcat是android的一部分,eclipse只是提供了一个视图(你可以在没有任何IDE的终端窗口中看到相同的东西)。 – delicateLatticeworkFever 2012-08-11 11:42:30
抱歉无法找到我在哪里写“与VS”。我没有在VS中开发android应用程序,我正在使用Eclipse。 – 2012-08-11 11:50:25
其实它是“例如在视觉工作室”;我的意思是logcat报告的延迟不是一个正常的日食事件。这是特定于logcat和Android和(我认为)将在VS中相同。在异常报告给logcat之前,异常会触发调试器,这就是为什么你必须恢复才能看到它在那里报告。 – delicateLatticeworkFever 2012-08-11 11:54:57