2
我運行在Eclipse的應用程序。它產生了6個線程。其中一個線程給出了一個例外:的Java空指針異常 - 堆棧跟蹤空
com.google.common.util.concurrent.UncheckedExecutionException: com.google.common.util.concurrent.UncheckedExecutionException: java.lang.NullPointerException
堆棧跟蹤也null
。
我使用日食。並且不能完成這些步驟(調試面板提供了發生異常的最高級功能跟蹤,這對發現根本原因無用)。
我如何調試此異常?
我主要是Java的新手(雖然C++經驗),並可能已經錯過了一些小鬼信息。
下面是一些相關的代碼:
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....)
很高興看到一些與此相關的代碼。可能是一些事情。 – Austin
聽起來是由線程池吞噬的空指針異常。給我們一些代碼,如奧斯汀Resquest! – jocelyn
添加示例代碼。可能是不完整的,但在這一點上混淆自己還有什麼可能是相關的:) – workwise