记录一下几个debug的问题 (1)

问题表征

严重内存泄漏。
我负责的部分使用了一个第三方的库。研究发现两部分代码都没有内存问题。
我们公司的代码全是建立在mempool申请的内存上,好处是只要创建对象,不用析构,省时间而且能控制内存泄露。
第三方的库使用正常heap上分配的内存,析构函数中释放这部分内存。
所以两方配套时就出现了问题:我们的对象从来不析构,导致对象中第三方库的对象也不能正常析构,造成了内存泄漏。

解决方法

  1. 把所有第三方库的动态内存调配切换到mempool上。一劳永逸但是工作量巨大;
  2. 把所有第三方对象建立在函数stack上,用完自动释放。这样对象不能重用;
  3. 手动析构第三方对象。需要小心谨慎,稍有不慎就内存泄漏或者释放野指针。

最终解决方案:3。

Posted in DIARY.


2 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Soi Cầu 88 says

    soi cầu dự đoán xsmb miễn phí, diễn đàn soi cầu miền bắc chính xác nhất hôm nay

    ReplyReply
  2. soi cầu xsmb win2888 says

    This piece of writing offers clear idea in favor of the new users of blogging, that truly how to do running a blog.

    ReplyReply



Some HTML is OK

or, reply to this post via trackback.

Note: Commenter is allowed to use '@+User+:' to automatically notify your reply to other commenter.