记录一次界面程序界面退出但是进程未退出问题解决过程
记一次程序关闭后不退出问题解决
问题:打开软件界面,然后关闭最后一个窗口来退出程序,结果发现窗口关闭成功,但是任务管理器中还是有程序运行
解决过程:
- 1、考虑到没进行其他的操作,故从主界面的构造函数出发,检查所有嫌疑点
- 2、观察到算法clear函数,发现std::vector没有用swap释放内存,可能导致点云生成后内存泄漏且产生相同的问题,但是考虑到这里还没生成点云,
故问题的关键还未找到 - 3、在initPlc函数中找到了初始化boost::asio服务器的线程代码,代码是异步服务器代码,故暂时锁定在此。
- 4、进一步分析,boost::asio::io_context类调用了run之后,析构函数中没有调用stop结束,不符合RAII,修复此问题,再次试验发现问题不复存在。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 D-Space!