当前位置: 首页 > 面试题库 >

handleStopActivity中的NullPointerException-在堆栈跟踪中未引用我的代码

章越
2023-03-14
问题内容

在这里,我有点茫然。我一直在看到这些中NullPointerException的数量稳定增长handleStopActivity。我怀疑随着Droid所有者2.2升级的增加而增加的共谋杀人事件,尽管这只是一个猜测。我自己从未见过崩溃,而且市场提供的堆栈跟踪没有提及我编写的任何类。因此,我不知道从哪里开始解决问题。

java.lang.NullPointerException
at android.app.ActivityThread.handleStopActivity(ActivityThread.java:3674)
at android.app.ActivityThread.access$2600(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2153)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:144)
at android.app.ActivityThread.main(ActivityThread.java:4937)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
at dalvik.system.NativeStart.main(Native Method)

因为我不知道原因,所以我也不知道要提供什么信息来帮助诊断,所以我给大家一个概括:我的应用程序是WootWatcher。它跟踪Woot.com并将新的待售商品通知用户。它通过在单独的进程中运行的服务来做到这一点。服务和主要活动通过aidl接口和回调相互通信。我还在服务和活动中同时使用消息处理程序,并经常生成线程来执行昂贵的任务。


问题答案:

回顾这个已有4年历史的问题,我意识到我应该可以对其进行诊断,但是不幸的是,我找不到与这些行相匹配的任何版本的AOSP。Droid必须使用了某些未提供的更改版本的源。

也就是说,Froyo的handleStopActivity()空指针异常的机会并不多。最有可能的事件将指向Activity.finish()该活动何时已停止或正在停止的时间。

当您注册最终调用的侦听器finish()并且没有在中注销这些侦听器时,通常会发生这种情况onPause()



 类似资料:
  • 我正在尝试调试一个棘手的核心转储(从一个-O2优化的二进制)。 被调用函数寄存器信息 : 问题是,在被调用的函数中,函数似乎没有实现任何功能。因此,我们想知道在被调用函数的反汇编中,是否看到指针被任何地方使用(被调用函数中的寄存器r12)。 我确实在一定程度上了解程序集,但所有这些代码内联让我感到困惑。 希望在取消被调用的函数反汇编方面得到一些帮助。 update: add_data在下面执行以下

  • 问题内容: 我最近发现了一个导致NullPointerException的错误。使用标准slf4j语句捕获并记录该异常。下面的节略代码: 如您所见,没有任何幻想。但是,在我们拥有的所有异常日志记录语句中,仅此一条不会打印堆栈跟踪。它仅打印消息(表示为“ …”)和异常类的名称(java.lang.NullPointerException)。 由于对异常的堆栈跟踪是延迟加载的,因此我认为可能存在某种指

  • 问题内容: 在尝试学习如何从恐慌中调试堆栈跟踪时,我遇到了一些令人困惑的问题。 当我在附加的播放链接上运行它时,输出以下内容: 我无法解读第二个数字的含义(main.F(0x1,0x10436000)中的0x10436000)。如果有第二个int参数,或者作为第一个参数传递的其他内容,则不会出现(可以在第二个播放链接中看到)。 一个arg:https : //play.golang.org/p/3

  • 我使用以下代码打印try-catch块中发生的任何异常,但是当异常发生时,logback不会打印完整的堆栈跟踪,而是写入一行错误(它没有明确说明是什么导致了它。我如何在logback输出中打印完整的堆栈跟踪? 尝试捕获异常的catch块 日志返回错误输出:

  • 当Xdebug被激活时,只要PHP决定显示通知,警告,错误等,就会显示堆栈跟踪。堆栈跟踪显示的信息以及显示方式可以根据您的需要进行配置。 Xdebug在错误情况下显示的堆栈跟踪信息量相当保守(如果display.errors 在php.ini中设置为On)。这是因为大量的信息会减慢脚本的执行速度和浏览器中堆栈跟踪本身的渲染速度。但是,可以使堆栈轨迹以不同的设置显示更详细的信息。 堆栈跟踪中的变量

  • 问题内容: 当我从标准库中获得运行时异常时,这几乎总是我的代码而不是库代码中的问题。有没有一种方法可以截断异常堆栈跟踪,以使其不显示库包的内容? 例如,我想得到这个: 而不是这样: 问题答案: 感谢Alex的指导,以下是代码: 产生以下堆栈跟踪: