Android:通用空指针异常

5

我已经在Android编程方面取得了不错的成功,但有一件事情我注意到,就是当我遇到NullPointerExceptions时,堆栈跟踪是无用的。它们总是这种格式:

Thread [<1> main] (Suspended (exception NullPointerException))  
    ViewRoot.draw(boolean) line: 1431   
    ViewRoot.performTraversals() line: 1163 
    ViewRoot.handleMessage(Message) line: 1727  
    ViewRoot(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]  

通常堆栈跟踪会告诉你代码出了什么问题,但我总是得到最通用的堆栈跟踪。我是否忽略了一些明显的内容呢?谢谢。
2个回答

6

如果您正在使用Eclipse,请查看DDMS或Debug视图中的LogCat。它将显示异常本身的堆栈跟踪以及导致异常的代码的堆栈跟踪。


1
为什么调试视图上没有显示异常???看起来很奇怪,它选择了要显示的“坏”堆栈部分。 - skaz

0
NativeStart.main(String[]) line: not available [native method]  

我不完全确定,但可能是你在调用一个尚未存在的API?

例如,你是否试图在运行较低版本的Android(2.1、1.6、1.5)的手机/模拟器上进行Android 2.2调用?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接