我的程序经常崩溃。我无法在LogCat中看到任何内容或在其他地方看到有用的信息,以找出问题所在。我唯一看到的是某种例外。这是不可接受的,使Android编程几乎不可能。我确信必须有一些额外的调试帮助,但经过数周的搜索,什么都没有。
有没有人提示如何在程序中找到一个简单崩溃的错误?
一般问题我知道,但如果没有答案,我将不得不放弃尝试为Android开发应用程序。我不能花几周时间寻找每一个简单的错误。
答案 0 :(得分:3)
还有实际的Eclipse调试器。如果您只是使用调试器运行程序直到它崩溃,您可能看不到特别有用的堆栈跟踪。但是如果你在崩溃之前的代码中添加一个或两个断点,你可以仔细检查并找出问题所在。
此外,尽管我还不熟悉Android开发,但我的经验是,我的代码中的大多数神秘崩溃基本上都是ClassCastException
。仔细查看从一个类到另一个类的所有地方,并确保你没有假设某种类型的东西实际上没有。
答案 1 :(得分:1)
听起来好像你的android安装中有错误。 LogCat有时会混淆并与虚拟设备断开连接(在此处讨论:getting blank screen in logcat)。
但你的问题听起来更严重。我知道这很痛苦,但考虑重新安装你的Android开发系统(包括一个全新的Eclipse安装)。
我遇到了类似的问题,并且全新安装有很多帮助(特别是在几次升级之后 - 事情会变得相当混乱)。
祝你好运。答案 2 :(得分:1)
这是一个完整的远景,但结果是这个Android新手的答案:你确定你的设备已连接?
在我的案例中发生了什么(这让我认为我的应用程序没有报告崩溃到LogCat)是我认为我调试的结果不是我的手机,而是我碰巧的Android模拟器在同一时间运行。当我意识到这种情况发生时,我退出了模拟器,并且logcat停止了。
当我再次运行logcat时,事实证明它甚至找不到我的手机:
$ ./adb logcat
- waiting for device -
从那里开始,我不得不通过一些箍来识别我的手机,例如adb not finding my device / phone (MacOS X)和enabling debugging on the phone。最后,我不得不set android:debuggable=true。
在杀死adb并再次运行logcat之后,我正在查看正确的日志,并且可以看到崩溃异常。
答案 3 :(得分:0)
实际上,我不确定您是否正在经历正常的崩溃。它可能是一个ANR或类似的现象,将一切锁定。这可能会让您从应用程序中看到更少的日志。我认为与我合作的其他环境相比,android的调试支持非常优雅。
答案 4 :(得分:0)
按照红色数字。您需要处于调试视图
1)单击引发异常的事件 2)导航为该事件生成的变量 3)点击“e” 4)查看detailMessage