加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

一个有趣的bug

发布时间:2020-12-17 01:28:49 所属栏目:安全 来源:网络整理
导读:?? ? ? ?苦战了3个小时终于发现了问题所在,忍不住发泄一下,随便抽取我写的其中的两个类说明一下问题 在ScriptControl类中: // ScriptControl.h: interface for the CScriptControl class.//////////////////////////////////////////////////////////////

?? ? ? ?苦战了3个小时终于发现了问题所在,忍不住发泄一下,随便抽取我写的其中的两个类说明一下问题

在ScriptControl类中:

在StreamControl类中:

?

然后总体的manager类:

?

?

在manager类中定了几个void *其实主要是为了生成dll而不包含头文件才这样做的,然后这样给我带来了致命的问题:

?

在讲void *指向对应的类对象时,定义如下:

?

很明显大家可以看到,我将m_pStreamControl = new CScriptControl(); 错误的指向了ScriptControl类,

而我在调用时:

?

调用时是通过强制转换来调用成员变量的,当然我在调用VideoPlay函数是失败的,

但是在debug时,却无法确认是此问题所导致,原因是通过添加断点可以得知,调用

可以进入函数内部,并且在函数内部走的很顺利,终于不得已,最后通过在构造函数内部添加断点,

通过一个未初始化的变量得知,是一开始就new出错了,哎,很悲剧,真是无语,解决后更是兴奋的无语 。。。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读