大多数设备可以运行我的应用程序,但我收到此错误报告:
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.company.app/com.company.app.MainActivity}: java.lang.ClassNotFoundException: com.company.app.MainActivity in loader dalvik.system.PathClassLoader[/mnt/asec/com.company.app-1/pkg.apk]
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2755)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2854)
at android.app.ActivityThread.access$2300(ActivityThread.java:136)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2179)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:143)
at android.app.ActivityThread.main(ActivityThread.java:5068)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.company.app.MainActivity in loader dalvik.system.PathClassLoader[/mnt/asec/com.company.app-1/pkg.apk]
at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
at android.app.Instrumentation.newActivity(Instrumentation.java:1034)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2747)
... 11 more
Run Code Online (Sandbox Code Playgroud)
我发现有一个相关的答案: ClassNotFoundException Android
但问题是,我的异常发生在我编写的任何代码行之前,那么如何确保加载类加载器?
参考:Xcode/LLDB:如何获取有关刚抛出的异常的信息?
因此,我可以通过键入po *(id *)($ebp + 8)调试器控制台来获取异常,并且在断点处有一个选项可以在满足断点时打印某些内容,但该选项只能打印对象的地址而不能打印它的描述.关于调试器命令的选项甚至不打印任何内容po.
是否有任何设置可以自动打印异常描述?
纠正我,如果我错了,在执行中CGPointMake,CGPoint p;声明一个局部变量a struct,应该在离开范围后释放.但为什么函数可以没有风险地返回值?
无论如何,假设执行CGPointMake是正确的,我应该释放由创建的CGPoint CGPointMake吗?