调试android应用程序终止

调试android应用程序终止,android,eclipse,debugging,Android,Eclipse,Debugging,我目前正在实施我的第一个Android应用程序。调试和开发通常进展顺利,但有时我在代码中做一些更改,然后从Eclipse环境(到虚拟设备)再次启动应用程序时会遇到问题 据我所知,new start会终止emulator中当前运行的应用程序版本,这很好,但这是正确的终止吗?是否在我的应用程序中引发了我应该处理的事件 我为什么要问?我的问题是,对于emulator中当前处于活动状态的大多数活动,我的应用程序正确终止(它消失了),新版本启动正常。但对于我的两个活动,当它们处于活动状态时,我从Eclip

我目前正在实施我的第一个Android应用程序。调试和开发通常进展顺利,但有时我在代码中做一些更改,然后从Eclipse环境(到虚拟设备)再次启动应用程序时会遇到问题

据我所知,new start会终止emulator中当前运行的应用程序版本,这很好,但这是正确的终止吗?是否在我的应用程序中引发了我应该处理的事件

我为什么要问?我的问题是,对于emulator中当前处于活动状态的大多数活动,我的应用程序正确终止(它消失了),新版本启动正常。但对于我的两个活动,当它们处于活动状态时,我从Eclipse“重新启动”我的应用程序,我可以看到几秒钟的消息框“不幸的是,应用程序已停止”,这让我意识到这些活动可能必须在其析构函数中执行某些操作,取消初始化某些操作或其他操作,因为终止会导致某种崩溃。如何检测这个,如何调试这个?当我再次启动应用程序时,旧版本的调试器已断开连接,因此没有任何帮助。我所能看到的只是logcat异常调用堆栈信息,但这对我帮助不大:

01-19 11:19:16.352: E/AndroidRuntime(1424): FATAL EXCEPTION: main
01-19 11:19:16.352: E/AndroidRuntime(1424): java.lang.RuntimeException: Unable to instantiate application android.app.Application: java.lang.NullPointerException
01-19 11:19:16.352: E/AndroidRuntime(1424):     at android.app.LoadedApk.makeApplication(LoadedApk.java:504)
01-19 11:19:16.352: E/AndroidRuntime(1424):     at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4364)
01-19 11:19:16.352: E/AndroidRuntime(1424):     at android.app.ActivityThread.access$1300(ActivityThread.java:141)
01-19 11:19:16.352: E/AndroidRuntime(1424):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1294)
01-19 11:19:16.352: E/AndroidRuntime(1424):     at android.os.Handler.dispatchMessage(Handler.java:99)
01-19 11:19:16.352: E/AndroidRuntime(1424):     at android.os.Looper.loop(Looper.java:137)
01-19 11:19:16.352: E/AndroidRuntime(1424):     at android.app.ActivityThread.main(ActivityThread.java:5039)
01-19 11:19:16.352: E/AndroidRuntime(1424):     at java.lang.reflect.Method.invokeNative(Native Method)
01-19 11:19:16.352: E/AndroidRuntime(1424):     at java.lang.reflect.Method.invoke(Method.java:511)
01-19 11:19:16.352: E/AndroidRuntime(1424):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
01-19 11:19:16.352: E/AndroidRuntime(1424):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
01-19 11:19:16.352: E/AndroidRuntime(1424):     at dalvik.system.NativeStart.main(Native Method)
01-19 11:19:16.352: E/AndroidRuntime(1424): Caused by: java.lang.NullPointerException
01-19 11:19:16.352: E/AndroidRuntime(1424):     at android.app.LoadedApk.initializeJavaContextClassLoader(LoadedApk.java:379)
01-19 11:19:16.352: E/AndroidRuntime(1424):     at android.app.LoadedApk.getClassLoader(LoadedApk.java:322)
01-19 11:19:16.352: E/AndroidRuntime(1424):     at android.app.LoadedApk.makeApplication(LoadedApk.java:496)
01-19 11:19:16.352: E/AndroidRuntime(1424):     ... 11 more

调试器问题,应用程序以错误的方式终止,不是真正的问题。

其获取空指针异常。检查您是否缺少一些值..谢谢。我知道这是NullPointerException,但当我启动应用程序的新实例时,调试器断开连接时,我如何调试它?我不知道当应用程序终止时调用什么方法,所以我应该在哪里更改某些内容。当我正常运行并关闭它时,它工作正常。我想当应用程序被迫关闭时,只调用一些析构函数?我不使用OnDestroy,所以不存在使用空值的问题…所以,如果您正常运行,那么它正在运行吗?当我在emulator中运行它(无论是在调试模式下还是在运行模式下)并关闭它时,一切都正常。问题是只有当我的两个活动当前处于活动状态,并且我从Eclipse再次启动应用程序时。。。emulator中的旧实例被强制关闭并导致此问题(当不同的活动处于活动状态时,它会停止ok)。然后应用程序的新实例启动正常。当我在正在运行的应用程序列表中关闭emulator中的应用程序时,它终止正常。只有从Eclipse再次启动应用程序时,才会发生NullPointerException。也许这是关闭以前版本的应用程序的一些非标准方式,但让我困惑的是,它只发生在我的一些活动当前处于活动状态时,而不是其他活动,所以这是我这边的一些错误。