应用程序意外停止:如何debugging?

请注意,与题目为“应用程序意外停止”的许多其他问题不同,我并不要求解决特定问题。

相反,我要求提供一个Android / Eclipse / Java新手的最佳策略大纲,以处理这个消化大量信息的艰巨任务,以开发(和debugging)一个简单的Android应用程序。

就我而言,我从SDK中抽取了示例框架应用程序, 稍微修改了一下,我尝试运行它的时候得到了什么?

应用程序(process.com.example.android.skeletonapp)意外停止。 请再试一次。

好的,所以我知道我必须看LogCat。 这是充满时间戳的线盯着我…我现在做什么? 我需要寻找什么?

有没有办法单步程序,find使应用程序崩溃的声明? (我认为Java程序不会崩溃,但显然我错了)

我如何放置一个断点?

你可以推荐一个Androiddebugging教程在线,除了这个吗?

Solutions Collecting From Web of "应用程序意外停止:如何debugging?"

我也是一个Eclipse / Android的初学者,但希望我简单的debugging过程可以帮助…

您可以在Eclipse中设置断点,方法是右键单击要破解的行并select“切换断点”。 从那里你要select“debugging”,而不是标准的“运行”,这将允许你一步一步等等。 使用LogCat提供的filter(在本教程中引用),以便您可以定位所需的消息,而不是涉及所有输出。 这将(希望)帮助你理解你的错误很长的路要走。

至于其他好的教程,我正在寻找一些自己,但没有设法find任何gem呢。

过滤您的日志只是错误,并寻找致命的例外

如果您在Eclipse的“debugging”透视图中使用Logcat显示,则这些行将用颜色编码。 find导致应用程序崩溃的原因很容易,因为它通常是红色的。

Java(或Dalvik)虚拟机应该永远不会崩溃,但是如果程序抛出一个exception并且没有捕获它,虚拟机将终止你的程序,这是你所看到的“崩溃”。

检查您的应用程序是否具有所需的权限。我也得到了同样的错误,我检查了logcatdebugging日志,它显示了这一点:

04-15 13:38:25.387: E/AndroidRuntime(694): java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.CALL dat=tel:555-555-5555 cmp=com.android.phone/.OutgoingCallBroadcaster } from ProcessRecord{44068640 694:rahulserver.test/10055} (pid=694, uid=10055) requires android.permission.CALL_PHONE 

然后我在我的android-manifest中给了我需要的权限。

  1. 在主屏幕上,按菜单键。
  2. 项目清单
  3. 触摸设置。
  4. 触摸应用程序
  5. 触摸pipe理应用程序
  6. 触摸全部。
  7. select有问题的应用程序。
  8. 触摸清除数据和清除caching(如果可用)。 这会将应用程序重置为新的应用程序,并可能会删除存储在应用程序中的个人数据。