如何在应用程序被杀死时调试它

Fre*_*ens 6 android visual-studio xamarin.android xamarin

我的应用程序在某些活动上有一个错误:当它重新启动时(当它被杀死然后再次使用多任务打开时),它会崩溃.我认为它与我的单身人士有关,但我不确定.我想查明问题,但我无法调试,因为当我杀死应用程序(我正在使用adb shell am kill <package-name>)时调试器停止.

有谁知道如何调试这个问题?(或者给我一个暗示我的问题可能是什么)

小智 7

您可以将以下代码添加到主活动的onCreate()方法中:

    android.os.Debug.waitForDebugger();
Run Code Online (Sandbox Code Playgroud)

这将暂停您的应用程序,直到调试程序附加到该进程.

然后 :

  • 运行你的应用程序
  • 将您的应用程序置于后台(例如,使用主页按钮)
  • 杀死进程或使用像MemoryPump这样的应用程序来填充内存并让你的应用程序被Android杀死
  • 使用多任务平台切换回您的应用程序(应用程序将启动并等待调试程序)
  • 将您的android studio调试器附加到您的应用程序(Android Studio工具栏中的图标,位于"运行应用程序"图标和"停止应用程序"图标之间)
  • 调试您的应用


Sus*_*ver 3

在您终止并重新启动我们的应用程序后,我将使用 DDMS(Dalvik 调试监视器服务器(DDMS)来捕获堆栈跟踪等。

(仅供参考:它已经与 Android 工具集的其余部分一起安装)

虽然它不允许您通过 VS/XS 调试应用程序,但它可以帮助您确定应用程序中导致问题的区域。从那里我将在故障区域添加日志记录(即老式风格的printf调试)

在此输入图像描述

http://developer.android.com/tools/debugging/ddms.html

要从 Visual Studio 启动:

在此输入图像描述

来自 Xamarin 工作室:

在此输入图像描述