现状:目前设备在远端运行,会有偶发性代码跑飞的情况 ,无法到现场调试的情况下如何检查出问题?
解决:在设备端增加日志报告上传(通过4G模块)机制,希望可以通过日志数据找到跑飞的原因。
在日志数据中将会上传如下数据:
设备操作日志:
1、设备云端同步服务调用操作;
2、云端设备影子更新操作;
3、设备传感器值报警日志;
4、设备功能按键操作;
设备系统线程运行日志:
1、线程的优先级;
2、线程当前的状态;
3、线程当前的栈位置;
4、线程的栈大小;
5、线程历史中使用的最大栈位置;
6、线程剩余的运行节拍数;
设备内存使用日志:
1、堆栈使用情况(最大剩余内存、当前使用内存、最大使用内存);
2、内存申请、释放情况;
设备跑飞时日志记录(HardFault中断):
1、设备跑飞时栈数据;
2、设备系统线程运行日志;
3、设备内存使用日志;
问题:
1、请问当前“现状”下,新增日志上报功能是否可以找到跑飞的原因;
2、请问是否有更好的建议办法在当前“现状”下找到偶发性跑飞的原因;
3、请问日志报告中的数据,是否有其他补充建议,方便判断跑飞原因;
4、请问日志报告中的数据,是否有无必要数据可删除不上传;