Java空指针异常 - 堆栈跟踪空

时间:2012-06-14 07:21:25

标签: java eclipse nullpointerexception jit

我在eclipse中运行一个应用程序。它产生了6个线程。其中一个线程给出了一个例外:

com.google.common.util.concurrent.UncheckedExecutionException: com.google.common.util.concurrent.UncheckedExecutionException: java.lang.NullPointerException

堆栈跟踪也是null

我正在使用eclipse。并且无法完成这些步骤(调试面板提供了一个非常顶级的函数跟踪,其中发生了异常,这对于找到根本原因没有用。)

如何调试此异常?

我主要是Java新手(尽管有C ++经验)并且可能错过了一些imp信息。


以下是一些相关代码:

import com.google.common.cache.Cache;
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;

Cache<BubbleKey, List<BlockData>> thecache;
// Above is initialized somewhere.. bit complex and code distributed across various file

//Somewhere else
List<BlockData>> __ll = thecache.getUnchecked(keydata);

以上是导致它的原因。 keydata已正确初始化。它可能在查找/比较键功能,但由于没有堆栈跟踪,我无法到达那里。


更多!在某些运行中,我得到更多的调试输出。仍然不知道如何分析它。

以下异常是在程序中上述异常发生3-4次之后发生的后一个异常。对于上述异常,正如我所提到的,从来没有任何堆栈跟踪。

at com.google.common.cache.CustomConcurrentHashMap$ComputedUncheckedException.get(CustomConcurrentHashMap.java:3305) ~[guava-10.0.1.jar:na]
    at com.google.common.cache.CustomConcurrentHashMap$ComputingValueReference.compute(CustomConcurrentHashMap.java:3441) ~[guava-10.0.1.jar:na]
    at com.google.common.cache.CustomConcurrentHashMap$Segment.compute(CustomConcurrentHashMap.java:2322) ~[guava-10.0.1.jar:na]
    at com.google.common.cache.CustomConcurrentHashMap$Segment.getOrCompute(CustomConcurrentHashMap.java:2291) ~[guava-10.0.1.jar:na]
    at com.google.common.cache.CustomConcurrentHashMap.getOrCompute(CustomConcurrentHashMap.java:3802) ~[guava-10.0.1.jar:na]
    at com.google.common.cache.ComputingCache.get(ComputingCache.java:46) ~[guava-10.0.1.jar:na]
    at com.google.common.cache.AbstractCache.getUnchecked(AbstractCache.java:49) ~[guava-10.0.1.jar:na]
 (at myfunction.... )

1 个答案:

答案 0 :(得分:0)

我听起来您遇到了在调试中运行的错误,您是否尝试过设置一些断点并查看是否可以准确追踪错误的来源?如果它是一个多线程应用程序,您应该考虑如何访问未初始化的数据,否则将无法实现。