如何在应用程序被杀死时调试应用程序
How to debug app when it's killed
我的应用程序在某些活动上存在错误:当它重新启动时(当它被杀死然后再次使用多任务程序打开时),它会崩溃。我认为这与我的单身人士有关,但我不确定。我想查明问题所在,但我无法调试,因为当我终止应用程序时调试器停止(我正在使用 adb shell am kill <package-name>
)。
有谁知道如何调试这个问题? (或者给我一个提示,我的问题可能是什么)
如果您使用单例 class 预加载一些数据,当您终止应用程序时实例将被销毁,因此您将不得不重新加载单例所需的数据。
您还可以添加 Raygun,它将捕获所有异常并将其发送到服务器,您可以在其中查看异常详细信息。
你可以从nuget获取:Mindscape.Raygun4Net 5.3.0
我会使用 DDMS(Dalvik 调试监视器服务器 (DDMS) 来捕获堆栈跟踪等。在您终止并重新启动我们的应用程序后。
(仅供参考:它已经与 Android 工具集的其余部分一起安装)
虽然它不允许您通过 VS/XS 调试您的应用程序,但它可以帮助您确定导致问题的应用程序区域。从那里我会在故障区域周围添加日志记录(即老式 printf
样式调试)
http://developer.android.com/tools/debugging/ddms.html
从 Visual Studio 开始:
来自 Xamarin Studio:
您可以将以下代码添加到主程序的 onCreate() 方法中 activity:
android.os.Debug.waitForDebugger();
这将暂停您的应用,直到调试器附加到该进程。
然后:
- 运行 你的应用程序
- 将您的应用置于后台(例如,使用主页按钮)
- 终止进程或使用 MemoryPump 之类的应用程序来填充 RAM 并让您的应用程序被 Android
终止
- 使用多任务面板切换回您的应用(应用将启动并等待调试器)
- 将您的 android studio 调试器附加到您的应用程序(Android Studio 工具栏中 'run app' 图标和 'stop application' 图标之间某处的图标)
- 调试您的应用程序
我的应用程序在某些活动上存在错误:当它重新启动时(当它被杀死然后再次使用多任务程序打开时),它会崩溃。我认为这与我的单身人士有关,但我不确定。我想查明问题所在,但我无法调试,因为当我终止应用程序时调试器停止(我正在使用 adb shell am kill <package-name>
)。
有谁知道如何调试这个问题? (或者给我一个提示,我的问题可能是什么)
如果您使用单例 class 预加载一些数据,当您终止应用程序时实例将被销毁,因此您将不得不重新加载单例所需的数据。
您还可以添加 Raygun,它将捕获所有异常并将其发送到服务器,您可以在其中查看异常详细信息。
你可以从nuget获取:Mindscape.Raygun4Net 5.3.0
我会使用 DDMS(Dalvik 调试监视器服务器 (DDMS) 来捕获堆栈跟踪等。在您终止并重新启动我们的应用程序后。
(仅供参考:它已经与 Android 工具集的其余部分一起安装)
虽然它不允许您通过 VS/XS 调试您的应用程序,但它可以帮助您确定导致问题的应用程序区域。从那里我会在故障区域周围添加日志记录(即老式 printf
样式调试)
http://developer.android.com/tools/debugging/ddms.html
从 Visual Studio 开始:
来自 Xamarin Studio:
您可以将以下代码添加到主程序的 onCreate() 方法中 activity:
android.os.Debug.waitForDebugger();
这将暂停您的应用,直到调试器附加到该进程。
然后:
- 运行 你的应用程序
- 将您的应用置于后台(例如,使用主页按钮)
- 终止进程或使用 MemoryPump 之类的应用程序来填充 RAM 并让您的应用程序被 Android 终止
- 使用多任务面板切换回您的应用(应用将启动并等待调试器)
- 将您的 android studio 调试器附加到您的应用程序(Android Studio 工具栏中 'run app' 图标和 'stop application' 图标之间某处的图标)
- 调试您的应用程序