我知道这个问题会很模糊,对不起。
我们在Android和iOS上开发了一个本机C ++应用程序,这两个平台共享大部分代码(只有非常少,特定于平台的东西)。我们的QA在Android上报告了相当多的相对随机的崩溃,这些崩溃要么完全被libc ++,libc或我们正在使用的第三方代码所掩盖。
它在iOS上完美运行。
现实中如何处理这种情况并修复这些崩溃?不幸的是,Android在本机开发方面非常糟糕,在三星设备上附加调试器绝对不可能,以及获得有意义的堆栈跟踪。
答案 0 :(得分:0)
创建自己的日志记录系统。每条记录都应该有一个日期和时间戳以及一些描述。
在我的嵌入式系统上,我们保存:文件名,函数名,行号,事件ID和每个系统故障的描述。在下一代,我们将把这些条目备份到SDCard。
这是允许我们执行取证的许多日志之一"当设备崩溃时测试团队或取证团队提取日志并将其附加到缺陷报告中。
编辑1:表征行为
日志记录的另一个方面是将日志记录函数调用放在代码中的不同位置。这将向您展示崩溃前最后知道的位置,并为您描述设备的行为。