昨天晚上测试那边给我报来一个bug,说是工具按了Cancel之后,再重新进入准备阶段,接着重新使用时就会有异常错误出现。
当我听到这个问题的时候,我开始时拒绝的,因为这种问题测试老是乱报,一开始我也不信会有什么问题。
后来自己拿了个机器试了一下,果真复现了。 这尼玛。。。
今天上午+下午到现在一直在调查这个问题,终于发现了是全局变量的坑,关键是这个全局变量还不得不用。
具体原因:
我们有个指针叫m_pCBS,当用户点击Cancel之后,我们会做一个Free的操作。但是我们在别处使用时,并未检查m_pCBS指针是否为空,Cancel之后指针的值为空,然后再使用指针时必然会有问题。
解决方法:
在使用m_pCBS指针是,先检查指针是否为空,非空则继续使用,为空则重新创建m_pCBS。
教训:
使用指针时,一定要检查当前指针是否为空。
时间: 2024-10-10 16:54:50