全局变量的坑

昨天晚上测试那边给我报来一个bug,说是工具按了Cancel之后,再重新进入准备阶段,接着重新使用时就会有异常错误出现。

当我听到这个问题的时候,我开始时拒绝的,因为这种问题测试老是乱报,一开始我也不信会有什么问题。

后来自己拿了个机器试了一下,果真复现了。 这尼玛。。。

今天上午+下午到现在一直在调查这个问题,终于发现了是全局变量的坑,关键是这个全局变量还不得不用。

具体原因:

我们有个指针叫m_pCBS,当用户点击Cancel之后,我们会做一个Free的操作。但是我们在别处使用时,并未检查m_pCBS指针是否为空,Cancel之后指针的值为空,然后再使用指针时必然会有问题。

解决方法:

在使用m_pCBS指针是,先检查指针是否为空,非空则继续使用,为空则重新创建m_pCBS。

教训:

使用指针时,一定要检查当前指针是否为空。

原文地址:https://www.cnblogs.com/javametro/p/7200924.html