【问题标题】:Intermittent Android app crash with no error logs despite UncaughtExceptionHandler尽管 UncaughtExceptionHandler 间歇性 Android 应用程序崩溃,但没有错误日志
【发布时间】:2017-01-04 13:18:04
【问题描述】:

此处难以解释的问题 - 我无法给出代码示例,因为如果我知道问题在代码中的位置,我就不需要帮助。总之……

我的应用程序,很少,以 “不幸的是 [您的出色的通常没有错误的应用程序] 已停止” 对话框爆炸,并且 - 尽管似乎有一个 UncaughtExceptionHandler抓住所有其他该死的东西 - 我的错误报告系统一无所获。

我怀疑这与锁定/冻结的线程以某种方式发生冲突有关(我一直无法避免使用多线程的东西来实现我的目标),所以我知道这会让一切变得更加难以确定,我只是想知道是否有一种方法可以在“不幸...”对话框出现的地方捕获应用程序状态,以便我可以将很多内容转储到文本文件中,或者是否有另一种巧妙的调试方法?

我见过其他类似的 StackOverflow 问题,但没有一个说明他们已经有 UncaughtExceptionHandler。

为含糊而道歉。

【问题讨论】:

  • 该对话框应为您提供发送报告的选项。将它们发送给您自己。
  • 对话框实际上只是“不幸的是 已停止”和一个 OK 按钮。我在哪里可以找到发送报告的选项?

标签: android multithreading crash uncaughtexceptionhandler


【解决方案1】:

我终于通过以下方式将所有 Logcat 输出附加到 sdcard 上的文件中来诊断问题:

String logcatFilePath = Environment.getExternalStorageDirectory().getPath() + "/output.log";
try {
    Runtime.getRuntime().exec("logcat -v time -f" + " " + logcatFilePath);
}
catch (IOException e1) {}

违规条目是:

04-07 17:41:55.790 F/libc    (26292): Fatal signal 11 (SIGSEGV) at 0xff606080 (code=1), thread 26297 (GC)

在其他现有 StackOverflow 问题/答案的帮助下,这为我指明了正确的方向(本机库问题)。

【讨论】:

    猜你喜欢
    • 2015-02-18
    • 1970-01-01
    • 2021-12-02
    • 2014-09-15
    • 1970-01-01
    • 2014-07-05
    • 2012-11-15
    • 2018-08-27
    • 1970-01-01
    相关资源
    最近更新 更多