我的程序经常会崩溃。我在LogCat中看不到任何东西,或者在其他地方看不到任何有用的信息来找出哪里出了问题。我唯一看到的就是某种例外。这是不可接受的,使得Android编程几乎是不可能的。我相信肯定有一些额外的帮助来调试,但经过几周的搜索,什么也没有。
有没有人有关于如何在一个简单崩溃的程序中找出bug的提示?
我知道一般的问题,但如果没有答案,我将不得不放弃为Android开发应用程序的尝试。我不能花几周的时间去寻找每一个简单的错误。
发布于 2010-07-23 14:21:39
还有实际的Eclipse调试器。如果只是使用调试器运行程序,直到它崩溃,您可能看不到特别有用的堆栈跟踪。但是,如果您在崩溃之前的代码中添加一两个断点,您就可以仔细检查并找出哪里出了问题。
此外,尽管我对Android开发还很陌生,但我的经验是,我的代码中大多数神秘的崩溃本质上都是ClassCastExceptions。仔细查看你将某个东西从一个类转换到另一个类的所有地方,并确保你没有假设某个东西的类型实际上不是。
发布于 2012-04-12 03:20:44
在我看来,你的安卓系统在某处安装时出现了错误。LogCat有时会混淆并断开与虚拟设备的连接(此处将讨论:getting blank screen in logcat )。
但你的问题听起来更严重。我知道这很痛苦,但请考虑重新安装您的android开发系统(包括全新的Eclipse安装)。
我也遇到过类似的问题,重新安装很有帮助(特别是在进行了几次升级之后--事情可能会变得相当混乱)。
祝好运。
发布于 2013-02-24 15:09:33
这完全不可能,但对于这个Android新手来说,最终的答案是:你确定你的设备已经连接上了吗?
在我的例子中发生的事情(把我带到这里,以为我的应用程序没有向LogCat报告崩溃)是,我认为我正在调试的东西原来不是我的手机,而是我碰巧同时运行的安卓模拟器。当我意识到发生了这种情况时,我退出了模拟器,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之后,我查看了正确的日志,并且可以看到崩溃异常。
https://stackoverflow.com/questions/3314735
复制相似问题