java - Android NullPointerException - 调试特定行

标签 java android debugging nullpointerexception

如果我有这样一行:

var.getSomething().getSomethingElse().setNewValue(stuff.getValue().getWhatever());

如果该行创建了一个 NullPointerException,是否有任何方法可以找出哪个方法返回了一个 null 值?

我相信我能够在每个点处拆分该行并获得显示哪条行失败的异常。但是我不能再让它工作了(也许我记错了)。

像这样写是唯一好的调试可能性吗?

a = var.getSomething();
b = a.getSomehingElse();
c = stuff.getValue();
d = c.getWhatever();
b.setNewValue(d);

有了这个我应该能够很容易地看到异常发生的地方。但是这样写感觉效率低而且丑。

我使用 Android Studio。之前使用过 Eclipse,但不久前转移到了 Android Studio。

最佳答案

您可能希望将每个部分都放入“Watches”中:

enter image description here

但我很确定 Eclipse 和 Android Studio 都可以让您通过选择您感兴趣的部分来检查内容(如果您处于 Debug模式)

关于java - Android NullPointerException - 调试特定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31470034/

相关文章:

android - 从 Google Play 下载应用程序后首次启动时崩溃(ExceptionInInitializerError)

android - 如果 android :inputType ="textCapSentences" used in textview,椭圆大小不工作

swift - lldb 错误 : Couldn't lookup symbols. Swift iOS

C : Runtime Error Verdict (Help debugging)

java - HandlerInterceptorAdapter,响应的JSON编码和后处理

java - 在 Java 中创建状态历史

android - 如何为 osmdroid 准备离线 map 的 map 图 block 存档?

java - Eclipse 中的调试器不工作

java - 方法覆盖是否总是运行时多态性?

java - Spring Cassandra 存储一个带有自定义对象的列表