美文网首页
vector<Campaign>*p_list

vector<Campaign>*p_list

作者: 晓函 | 来源:发表于2017-02-06 11:26 被阅读11次

    一个函数有参数vector<Campaign>*p_list ,导致内存泄露问题。然而让DUILIB的richedit->SetText莫名报错:内存访问失败,duilib的richedit背锅了
    程序崩溃提示:
    0x0F3A88EE (msftedit.dll) (MiaoWeixin.exe 中)处有未经处理的异常: 0xC0000005: 读取位置 0x00000004 时发生访问冲突。

    调试了一晚上BUG,注释掉richedit->SetText就不崩溃了。。
    以为是richedit的bug,调试了一晚上无果。
    睡觉的时候突然醒悟,肯定是其他地方内存泄露,导致这边richedit->SetText莫名出问题。
    今早上起来又调了一上午的bug,终于定位到一个函数有参数vector<Campaign>*p_list ,导致内存泄露问题。
    改成引用,程序不再崩溃。。

    累。。。
    以后少用指针吧。。

    ==============2017-2-11更新
    发现是在非UI线程中操作richedit-SetText的问题,微软也建议不要再线程中操作UI,虽然大部分都正常,一旦遇到复杂的UI就可能发生异常。

    相关文章

      网友评论

          本文标题:vector<Campaign>*p_list

          本文链接:https://www.haomeiwen.com/subject/wjiyittx.html