【问题标题】:Android Studio debugger stops unexpectedlyAndroid Studio 调试器意外停止
【发布时间】:2020-03-06 18:31:50
【问题描述】:

我无法调试我的应用程序,因为在设置断点并且调试器在它处停止后,它会在两三秒后突然停止,并且应用程序在没有明显原因的情况下退出。

我尝试在不同的位置设置断点,以确保没有其他后台进程干扰它,例如在启动活动中 onCreate 的一开始,但同样的情况发生了,调试器按预期停止,几秒钟后应用退出,调试会话意外结束。

我尝试将 Android Studio 和 Gradle 更新到最新版本(我的 AS 是 3.6.1)和 Gradle 5.6.4(插件版本是 3.6.1),但无济于事。还尝试卸载/重新安装该应用程序也无济于事,最后我尝试了 Android Studio 中的“使缓存无效并重新启动”选项,但都没有成功。

我无法调试并且不知道还有什么可以尝试/做什么。

我的手机是华为Mate 20 Lite,我也试过重启手机,但没有成功。

调试器停止并退出应用程序后,这是我的“Logcat”(应用程序数字为 com.mycompany.myapp):

2020-03-06 19:20:39.719 1408-1432/? E/WindowManager: icon is null!!
2020-03-06 19:20:39.722 1408-1432/? E/WindowManager: icon is null!!
2020-03-06 19:20:39.724 1408-1432/? E/WindowManager: icon is null!!
2020-03-06 19:20:39.777 2462-5966/? E/HwNaturalBase: [Binder:2462_10]: clearDataByOwner ignore: Found null values with the given ownerPkgName is[com.mycompany.myapp].
2020-03-06 19:20:39.778 2334-4531/? E/AwareLog: GameSdkConfigReader: GameSdkLog: idNameMap: null
2020-03-06 19:20:39.809 847-861/? E/AwareLog: iawared: GetFileContent open /proc/14267/task/14277/cpuset fail errno(2)!
2020-03-06 19:20:39.815 14269-14269/? E/ssioncontrolle: Not starting debugger since process cannot load the jdwp agent.
2020-03-06 19:20:39.817 838-838/? E/Thermal-daemon: [shell_frame] temp_new :29  temp_old :28
2020-03-06 19:20:39.817 1408-1927/? E/ProcessInfoCollector: getProcessInfo: failed to find this proc 
2020-03-06 19:20:39.818 838-838/? E/Thermal-daemon: Report temperature: [shell_frame] temp :29  report_threshold:1
2020-03-06 19:20:39.820 838-838/? E/Thermal-daemon: [ap] temp_new :36  temp_old :35
2020-03-06 19:20:39.821 838-838/? E/Thermal-daemon: Report temperature: [ap] temp :36  report_threshold:1
2020-03-06 19:20:39.855 3259-3259/? E/NfcNci: NfcUtils error: APP do not have nfc permission
2020-03-06 19:20:39.857 3259-3259/? E/NfcNci: NfcUtils error: APP do not have nfc permission
2020-03-06 19:20:39.865 2033-2033/? E/HwLauncher: PowerSaveLauncherModel onPackageChanged: not inPowerSaveLauncher 
2020-03-06 19:20:39.865 2033-2033/? E/HwLauncher: StreetModeLauncherModel onPackageChanged: not inStreetModeLauncher 
2020-03-06 19:20:39.889 653-1175/? E/BufferQueueProducer: [com.huawei.android.launcher/com.huawei.android.launcher.unihome.UniHomeLauncher#1]:1338: disconnect: not connected (req=1)
2020-03-06 19:20:39.890 653-2692/? E/BufferQueueProducer: [com.huawei.android.launcher/com.huawei.android.launcher.unihome.UniHomeLauncher#0]:1338: disconnect: not connected (req=1)
2020-03-06 19:20:39.908 642-642/? E/WifiHAL: enter wifi_get_link_stats
2020-03-06 19:20:39.912 1408-1610/? E/WificondControl: Noise: 0, Snr: 0, Chload: -1
2020-03-06 19:20:39.942 577-14300/? E/ResolverController: No valid NAT64 prefix (123, <unspecified>/0)
2020-03-06 19:20:42.444 1408-8027/? E/WifiService: enforceCanAccessScanResults: hiding ssid and bssidLocation mode is disabled for the device
2020-03-06 19:20:42.456 1408-1602/? E/WifiService: enforceCanAccessScanResults: hiding ssid and bssidLocation mode is disabled for the device
2020-03-06 19:20:42.468 2033-2033/? E/HwLauncher: HwAppMarketDownloadModel handleInstallAction op: 2
2020-03-06 19:20:42.663 7452-7525/? E/HSM_UI: SecurityBroadcastReceiver:SecurityBroadcastReceiver the rainbow is not enabled!
2020-03-06 19:20:42.789 577-14311/? E/ResolverController: No valid NAT64 prefix (123, <unspecified>/0)
2020-03-06 19:20:42.956 642-642/? E/WifiHAL: enter wifi_get_link_stats
2020-03-06 19:20:42.963 1408-1610/? E/WificondControl: Noise: 0, Snr: 0, Chload: -1
2020-03-06 19:20:43.173 653-2692/? E/BufferQueueProducer: [Waiting For Debugger: com.mycompany.myapp#0]:1338: disconnect: not connected (req=1)
2020-03-06 19:20:43.185 1408-7773/? E/InputDispatcher: Window handle Window{d9a7484 u0 Waiting For Debugger: com.mycompany.myapp} has no registered input channel
2020-03-06 19:20:43.201 1408-2090/? E/InputDispatcher: Window handle Window{d9a7484 u0 Waiting For Debugger: com.mycompany.myapp} has no registered input channel
2020-03-06 19:20:43.611 14186-14323/com.mycompany.myapp E/AwareLog: AtomicFileUtils: readFileLines file not exist: android.util.AtomicFile@563b55d
2020-03-06 19:20:43.616 14186-14323/com.mycompany.myapp E/AwareLog: AtomicFileUtils: readFileLines file not exist: android.util.AtomicFile@fa4bed2
2020-03-06 19:20:43.650 577-14328/? E/ResolverController: No valid NAT64 prefix (123, <unspecified>/0)
2020-03-06 19:20:44.824 838-838/? E/Thermal-daemon: [ap] temp_new :37  temp_old :36
2020-03-06 19:20:44.828 838-838/? E/Thermal-daemon: Report temperature: [ap] temp :37  report_threshold:1
2020-03-06 19:20:45.312 1408-1610/? E/WificondControl: Noise: 0, Snr: 0, Chload: -1
2020-03-06 19:20:45.842 8205-10507/? E/HSC_SEC: VirusPkgParser:parse InputStream is null
2020-03-06 19:20:45.985 642-642/? E/WifiHAL: enter wifi_get_link_stats
2020-03-06 19:20:45.987 1408-1610/? E/WificondControl: Noise: 0, Snr: 0, Chload: -1
2020-03-06 19:20:46.733 879-996/? E/ScreemCommon: <LOGMGR> <logCaptureFilter> [not the beta version or delimitation frozen, no need to capture log]
2020-03-06 19:20:46.733 879-996/? E/ScreemCommon: ### JankSchedHwRead error!
2020-03-06 19:20:46.734 879-996/? E/ScreemCommon: ### ScreemSchedDlmRead read failed!
2020-03-06 19:20:46.735 879-996/? E/ScreemCommon: ### ScreemSchedDlmRead error!
2020-03-06 19:20:46.737 879-996/? E/ScreemCommon: update dlm info failed
2020-03-06 19:20:46.996 2258-2450/? E/HwCHRWifiRSSIGroupSummery: updatArpSummery mRSSI:-1  HwCHRWifiRSSIGroup [rssi_index=4, rtt_tcp_packets=0, rtt_tcp_duration=0, rtt_lan_duration=5066, rtt_lan_failures=0, rtt_lan_succ=396, rtt_lan_max=324, rtt_lan_min=4,same_area_frequency=0,adjacent_area_frequency=0]
2020-03-06 19:20:47.212 2258-2258/? E/CHR_ChrModemStatistics: sensors invalid
2020-03-06 19:20:47.471 2334-17416/? E/AppInfoMgr: not find pkgs by uid: 0
2020-03-06 19:20:49.008 642-642/? E/WifiHAL: enter wifi_get_link_stats
2020-03-06 19:20:49.013 1408-1610/? E/WificondControl: Noise: 0, Snr: 0, Chload: -1
2020-03-06 19:20:49.393 1408-1431/? E/ActivityTaskManager: app boot failure event send
2020-03-06 19:20:49.443 879-3232/? E/LOGSERVER_UTILS: [ZeroHung]sentEvent: result->scope length:3, wpName length:2
2020-03-06 19:20:49.443 879-3232/? E/LOGSERVER_UTILS: [ZeroHung]sentEvent: recoverSolution length:10, recoverResult length:7, keyLog length:31
2020-03-06 19:20:49.479 879-3232/? E/iMonitor: [ZeroHung]appendFile: open /data/log/reliability/appeye/history.log.0 failed
2020-03-06 19:20:49.484 879-998/? E/ScreemHealth: Get an unregisted msg 3.
2020-03-06 19:20:49.512 1408-1587/? E/WindowManager: win=Window{c946538 u0 com.huawei.android.launcher/com.huawei.android.launcher.unihome.UniHomeLauncher} destroySurfaces: appStopped=false win.mWindowRemovalAllowed=false win.mRemoveOnExit=false
2020-03-06 19:20:49.512 1408-1587/? E/WindowManager: win=Window{b8371be u0 com.huawei.android.launcher/com.huawei.android.launcher.unihome.UniHomeLauncher} destroySurfaces: appStopped=false win.mWindowRemovalAllowed=false win.mRemoveOnExit=false
2020-03-06 19:20:49.533 2334-4108/? E/AwareLog: SPKSchedFeature: Uid has been sent, ignore.
2020-03-06 19:20:49.602 1408-1587/? E/ZRHungService: BF and NFW forceStop package: com.mycompany.myapp
2020-03-06 19:20:49.630 3259-3259/? E/NfcNci: NfcUtils error: APP do not have nfc permission
2020-03-06 19:20:49.637 1899-4895/? E/HsmCoreServiceImpl: onTransact in code is: 102
2020-03-06 19:20:49.637 2334-4531/? E/AwareLog: GameSdkConfigReader: GameSdkLog: idNameMap: null
2020-03-06 19:20:49.638 3259-3259/? E/NfcNci: NfcUtils error: APP do not have nfc permission
2020-03-06 19:20:49.652 21186-21228/? E/AppLifeChangeSensor: CAWARENESS: activityResumed mAppLifeChangeCallback is null 
2020-03-06 19:20:49.653 1899-11648/? E/DollieAdapterService: notifyActivityState pkg:com.huawei.android.launcher/com.huawei.android.launcher.unihome.UniHomeLauncher state:2 fg:true mUid:10074
2020-03-06 19:20:49.657 1408-1432/? E/WindowManager: icon is null!!
2020-03-06 19:20:49.832 838-838/? E/Thermal-daemon: [ap] temp_new :36  temp_old :37
2020-03-06 19:20:49.833 838-838/? E/Thermal-daemon: Report temperature: [ap] temp :36  report_threshold:1
2020-03-06 19:20:50.168 21235-14119/? E/TotemWeather: DeviceStateServiceListener:lastLocation is null

编辑 1:

检查 Logcat 我可以猜测可能是“ZRHungService”导致了问题,但找不到有关此服务的任何信息。

E/ZRHungService: BF and NFW forceStop package: com.mycompany.myapp

编辑 2:

我已经尝试在虚拟设备中成功调试,但问题是我正在将下载中的文件副本调试到缓存目录,而在虚拟设备中我没有该文件,所以我认为这不是一个选项:(

【问题讨论】:

  • "调试器停在那里,然后在两三秒后突然停止",这被称为 ANR,Activity Not Responding,因为你的断点。
  • 那我该怎么处理@Blundell?我遇到了问题,我需要调试。我没有在屏幕上看到任何“ANR”信息,就像这里所说的那样顺便说一句:developer.android.com/topic/performance/vitals/anr
  • 是的,通常会出现一个对话框,您可以说“忽略”。
  • 我绝对不认为这是 ANR @Blundell。当我的应用程序能够调试并且它停止了很长时间时,我看到了 ANR 警报,但它没有发生不同的事情,没有显示 ANR 弹出窗口(带有“等待”和“关闭”按钮),应用程序只是退出并且调试器停止。
  • 尝试使用模拟器而不是手机。华为可能让它工作起来很时髦

标签: android android-studio debugging


【解决方案1】:

如果华为的任何人或他们的用户找到真正的解决方案,我会遇到同样的问题。自从几天前更新到 Android 10 后,我的 Mate 20 Pro 才刚刚开始出现这种情况。

这是我的应用程序的 logcat 行。在断点上 3-4 秒后死亡:

2020-03-10 20:22:24.228 711-981/? E/BufferQueueProducer: [Waiting For Debugger: digital.key.testapp#0]:1338: disconnect: not connected (req=1)
2020-03-10 20:22:24.249 1108-2438/? E/InputDispatcher: Window handle Window{b4506fa u0 Waiting For Debugger: digital.key.testapp} has no registered input channel
2020-03-10 20:22:24.422 8057-8106/digital.key.testapp E/AwareLog: AtomicFileUtils: readFileLines file not exist: android.util.AtomicFile@77e0f7
2020-03-10 20:22:30.622 1108-1817/? E/ZRHungService: BF and NFW forceStop package: digital.key.testapp

我找到了一个临时解决方案。在手机的开发人员选项中设置一个调试应用程序,并告诉它等待调试器。然后启动它,您可以从 Android Studio 附加调试器,一切正常。

  • 设置 -> 系统和更新 -> 开发者选项
  • 在调试下找到“选择调试应用”并选择您的应用
  • 勾选“等待调试器”
  • 从应用抽屉运行应用
  • 在 Android Studio 中选择附加调试器,断点不再崩溃

.

【讨论】:

  • 非常感谢@Captain Wizard。我会尽快尝试您的解决方案。不幸的是,这似乎更像是一种解决方法,但如果它确实有效,至少在调试器再次开始工作之前是一个临时解决方案。我开始猜测是与华为的一些更新有关。
  • 希望你有一些好运。从我所见,我以这种方式获得了 75% 的成功。它笨重且烦人,但如果您需要在真实设备上进行调试,至少是一种选择。对我来说,这绝对是他们对我的新 10 更新所做的事情,因为我过去在 9 上调试时没有任何问题。
  • 不幸的是,该解决方法不适用于我在 Mate 9 和 Android 9 上的 Android Studio 4.1.3。基本上,在我通过几个断点后,应用程序会重新启动。
  • 在荣耀 10 上它的工作很奇怪。在设置中我选择一个需要的应用程序,打开等待调试器,运行该应用程序。它等待 Android Studio,我按下“将调试器附加到 Android 进程”按钮。然后它工作。但是如果我不每次都附加一个调试器,它就会崩溃。例如,当尝试从 AS (Shift + F9) 开始调试时。
【解决方案2】:

Huawei Mate 20 Lite 解决方案
我不知道这是如何以及为什么起作用的,这不是一种科学的方法。 对于那些不使用 Captain Wizard 解决方案的人,我发现了一个奇怪的方法来解决这个问题。应该考虑上面提出的一些要求。

  1. 正常运行应用程序
  2. 尽可能快地转到运行 -> 附加到进程。您必须从运行菜单中选择此选项,“将调试器附加到 Android 进程”因为它不起作用.
  3. 出现一个弹出窗口,选择出现的选项。
  4. 终于有东西出现了,不要理会。​​li>
  5. 选择“将调试器附加到 Android 进程”图标。
  6. 现在,调试过程不应在几秒钟后停止。

【讨论】:

  • 可能它在华为上工作,但在荣耀 10 上它显示 2 个进程:KotlinCompileDaemon 和 GradleDaemon。选择任何后,它不会在没有崩溃的情况下进行调试。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多