这里很难解释的问题-我无法给出代码示例,因为如果我知道问题在代码中的什么位置,就不需要帮助。反正...
我的应用程序,非常罕见,弹了与“不幸的是[你真棒一般错误的免费应用程序]已停止”对话框,并且-尽管有一个UncaughtExceptionHandler的,似乎抓住每一个其他该死的东西-我通过我的错误报告系统得到什么。
我怀疑这与锁定/冻结线程以某种方式发生冲突(我一直无法避免使用多个线程的东西来实现我的目标)有关,所以我知道这会使所有问题更难以查明,我只是想知道是否存在是一种在出现“不幸...”对话框时捕获应用程序状态的方法,以便我可以将其转储到文本文件,或者是否有另一种巧妙的调试方法?
我见过其他类似的StackOverflow问题,但是没有一个问题说明他们已经有一个UncaughtExceptionHandler了。
含糊其辞。
我最终通过以下方式将所有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问题/答案的帮助下,这已为我指明了正确的方向(本机库问题)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句