如何调试您的应用程序正在运行哪些 AlarmManager 警报?

Posted

技术标签:

【中文标题】如何调试您的应用程序正在运行哪些 AlarmManager 警报?【英文标题】:How to debug which AlarmManager alarms are running from your application? 【发布时间】:2013-12-03 03:58:54 【问题描述】:

我们设置了一些重复警报,它们大部分时间都正常工作。有时虽然他们被卡住了(可能以某种方式取消)。 如何调试它以确保警报似乎卡住时实际上已关闭?

关于取消警报的原因:我知道当用户从 Applications Manager 中强制停止您的应用时会发生这种情况。系统也能随机取消吗? (比如杀死整个应用程序以回收资源时?)

【问题讨论】:

【参考方案1】:

关于调试告警:

adb shell dumpsys alarm

除了用户强制停止之外,我还没有弄清楚是否可以杀死警报。

【讨论】:

要排序并找到相关警报,您可以使用 grep/awk 或 Select-String。如果你在终端上,你可以使用adb shell dympsys alarm | grep "app.package.name",如果你在 PowerShell 上,你可以使用adb shell dumpsys alarm | Select-String -Pattern "app.package.name" 修复了命令adb shell dumpsys alarm | grep "app.package.name"中的错字

以上是关于如何调试您的应用程序正在运行哪些 AlarmManager 警报?的主要内容,如果未能解决你的问题,请参考以下文章

强制任何正在运行的进程崩溃

PySnooper – 永远不要使用print进行调试

PySnooper – 永远不要使用print进行调试

PySnooper – 永远不要使用print进行调试

如何使用WinDbg调试进程信息

如何使用 QtCreator 调试设备上的应用程序