全局变量的坑

Posted 专属9号

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全局变量的坑相关的知识,希望对你有一定的参考价值。

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

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

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

 

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

具体原因:

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

解决方法:

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

 

教训:

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

以上是关于全局变量的坑的主要内容,如果未能解决你的问题,请参考以下文章

jmeter设置全局变量踩过的坑

修改npm安装的全局路径和配置环境变量的坑

js变量提升的坑

eval全局作用域和局部作用域的坑!

js 面试的坑:变量提升

当 Flutter 中的全局变量更改(异步)时更新小部件