调试Android RuntimeException-在我的代码执行之前
我对Java并不陌生,但对Android平台来说是个新手。我发现平台的一个缺点是对运行时崩溃的有意义的反馈。在应用断点的用户代码中很好,但我在第一次运行时遇到了一个崩溃,这阻止了我的项目启动,我找不到跟踪它的方法。有人能解释一下吗调试Android RuntimeException-在我的代码执行之前,android,Android,我对Java并不陌生,但对Android平台来说是个新手。我发现平台的一个缺点是对运行时崩溃的有意义的反馈。在应用断点的用户代码中很好,但我在第一次运行时遇到了一个崩溃,这阻止了我的项目启动,我找不到跟踪它的方法。有人能解释一下吗 DalvikVM[localhost:8626] Thread [<1> main] (Suspended (exception RuntimeException)) ActivityThread.performLaun
DalvikVM[localhost:8626]
Thread [<1> main] (Suspended (exception RuntimeException))
ActivityThread.performLaunchActivity(ActivityThread$ActivityRecord, Intent) line: 2585
ActivityThread.handleLaunchActivity(ActivityThread$ActivityRecord, Intent) line: 2679
ActivityThread.access$2300(ActivityThread, ActivityThread$ActivityRecord, Intent) line: 125
ActivityThread$H.handleMessage(Message) line: 2033
ActivityThread$H(Handler).dispatchMessage(Message) line: 99
Looper.loop() line: 123
ActivityThread.main(String[]) line: 4627
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]
Method.invoke(Object, Object...) line: 521
ZygoteInit$MethodAndArgsCaller.run() line: 868
ZygoteInit.main(String[]) line: 626
NativeStart.main(String[]) line: not available [native method]
Thread [<6> Binder Thread #2] (Running)
Thread [<5> Binder Thread #1] (Running)
DalvikVM[localhost:8626]
线程[main](挂起(异常运行时异常))
ActivityThread.performLaunchActivity(ActivityThread$ActivityRecord,Intent)行:2585
ActivityThread.handleLaunchActivity(ActivityThread$ActivityRecord,Intent)行:2679
ActivityThread.access$2300(ActivityThread,ActivityThread$ActivityRecord,Intent)行:125
ActivityThread$H.handleMessage(消息)行:2033
ActivityThread$H(处理程序)。dispatchMessage(消息)行:99
Looper.loop()行:123
ActivityThread.main(字符串[])行:4627
invokenactive(Object,Object[],Class,Class[],Class,int,boolean)行:不可用[本机方法]
调用(对象,对象…)行:521
ZygoteInit$MethodAndArgsCaller.run()行:868
颧骨单位。主(字符串[])行:626
NativeStart.main(字符串[])行:不可用[本机方法]
螺纹[活页夹螺纹#2](运行)
螺纹[活页夹螺纹#1](运行)
在模拟器和设备上也是如此
我看到过这样的崩溃报告,它们是由无效XML的膨胀引起的,所以我几乎一个接一个地从我的项目中删除了所有XML和资源,同样的错误仍然存在!有没有什么技巧或工具可以用来尝试获得更有意义的错误消息?谢谢。我找到了在这种情况下收集更多信息的答案。本页提供了一些非常有用的信息:
通过打开Eclipse视图调试部分的“变量”选项卡,我可以看到一个名为“e”的值,可能是“exception”的值,其值为“ClassNotFoundException”。通过点击它,我看到了一个更完整的描述,上面写着找不到的类。这是我的主要活动,我在前一个深夜重新命名了它,后来就忘了。Facepalm希望此信息能帮助他人 发布一些代码,发布你的清单。你说它在你的代码执行之前就崩溃了。你怎么知道的?那么它什么时候崩溃?当您考虑运行它时?如果应用程序正在退出,则可从DDMS或“adb logcat”查看的日志输出将显示完整的跟踪。另请参见。我在调试类似的崩溃时遇到了这个问题。“我的变量”选项卡没有显示任何内容,但是可以通过为未捕获的异常设置Eclipse断点来找到特定类型的异常。当调试中的程序由于未捕获的RuntimeException而中断时,断点窗口将显示捕获的特定类型的异常,如下所示:AcceptPendingException[Suspend VM]:未捕获。它不一定能解决知道原因的问题,但它是这一过程中更进一步的一步。