如何调试ExceptionInInitializationError?

时间:2010-04-15 19:44:31

标签: android debugging exception logcat

我在一个非常简单的'研究'应用程序中得到一个例外,所以我希望问题出现在我的项目设置中,但我不知道如何调试......

异常的上下文是什么,“ExceptionInInitializationError”?

它在哪里记录?答:搜索Android开发者指南

Eclipse Debugger中的堆栈跟踪:select thread - >右键单击 - >复制堆栈

Thread [<3> main] (Suspended (exception ExceptionInInitializerError))   
    Class.newInstance() line: 1479  
    Instrumentation.newActivity(ClassLoader, String, Intent) line: 1021 
    ActivityThread.performLaunchActivity(ActivityThread$ActivityRecord, Intent) line: 2367  
    ActivityThread.handleLaunchActivity(ActivityThread$ActivityRecord, Intent) line: 2470   
    ActivityThread.access$2200(ActivityThread, ActivityThread$ActivityRecord, Intent) line: 119 
    ActivityThread$H.handleMessage(Message) line: 1821  
    ActivityThread$H(Handler).dispatchMessage(Message) line: 99 
    Looper.loop() line: 123 
    ActivityThread.main(String[]) line: 4310    
    Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]  
    Method.invoke(Object, Object...) line: 521  
    ZygoteInit$MethodAndArgsCaller.run() line: 860  
    ZygoteInit.main(String[]) line: 618 
    NativeStart.main(String[]) line: not available [native method]  

这是logcat:

I/ActivityManager(   52): Starting activity: Intent { flg=0x10000000 cmp=com.androidcode.study_wikinotes/.WikiNotes }
D/AndroidRuntime(  198): Shutting down VM
D/dalvikvm(  198): DestroyJavaVM waiting for non-daemon threads to exit
D/dalvikvm(  198): DestroyJavaVM shutting VM down
D/dalvikvm(  198): HeapWorker thread shutting down
D/dalvikvm(  198): HeapWorker thread has shut down
D/jdwp    (  198): JDWP shutting down net...
I/jdwp    (  198): adbd disconnected
D/dalvikvm(  198): VM cleaning up
E/AndroidRuntime(  198): ERROR: thread attach failed
I/ActivityManager(   52): Start proc com.androidcode.study_wikinotes for activity com.androidcode.study_wikinotes/.WikiNotes: pid=219 uid=10023 gids={}
D/dalvikvm(  198): LinearAlloc 0x0 used 634508 of 5242880 (12%)
D/ddm-heap(  155): Got feature list request
D/ddm-heap(  169): Got feature list request
D/ddm-heap(  183): Got feature list request
D/ddm-heap(  206): Got feature list request
D/ddm-heap(  219): Got feature list request
W/ActivityThread(  219): Application com.androidcode.study_wikinotes is waiting for the debugger on port 8100...
I/System.out(  219): Sending WAIT chunk
I/dalvikvm(  219): Debugger is active
I/System.out(  219): Debugger has connected
I/System.out(  219): waiting for debugger to settle...
I/System.out(  219): waiting for debugger to settle...
I/System.out(  219): waiting for debugger to settle...
I/System.out(  219): waiting for debugger to settle...
I/System.out(  219): waiting for debugger to settle...
I/System.out(  219): waiting for debugger to settle...
I/System.out(  219): waiting for debugger to settle...
I/System.out(  219): waiting for debugger to settle...
I/System.out(  219): waiting for debugger to settle...
I/System.out(  219): waiting for debugger to settle...
I/System.out(  219): waiting for debugger to settle...
I/System.out(  219): debugger has settled (1382)
W/dalvikvm(  219): Exception Ljava/util/regex/PatternSyntaxException; thrown during Lcom/androidcode/study_wikinotes/WikiNotes;.<clinit>
W/dalvikvm(  219): Class init failed in newInstance call (Lcom/androidcode/study_wikinotes/WikiNotes;)

啊......我在WikiNotes中有一个不完整的类。你会说答案是“从logcat开始”吗? :) 谢谢您的帮助。来吧,添加你的答案,我会接受它。

1 个答案:

答案 0 :(得分:1)

是的,在Android中调试时要做的第一件事就是从查看LogCat开始。