应用软件出现了偶发两次卡死情况。记录下分析过程。
1 分析和验证
1.1 初步分析和验证过程
应用软件分析:
1、应用进程还在;
2、脚本未正常退出,kill掉脚本,软件恢复响应,使用到脚本相关功能又卡死,应用程序通过QProcess执行脚本正常;
3、怀疑system调用失败导致,同时发现串口无法输入,但插拔U盘有系统日志输出;
4、编写测试demo,通过网络SSH远程连接后运行,发现通过system执行脚本正常;
5、通过网络远程连接终端执行命令:echo "v" > /dev/console,发现终端无响应,只能按Ctrl+C结束等待,怀疑跟串口有关系;
6、放置一段时间后,串口终端突然好了,应用软件也恢复正常;
系统资源分析:
1、UI线程阻塞在系统函数system中的waitpid;
&nbs