分析字符串替换内存泄漏

时间:2012-05-02 11:00:20

标签: c++ unix memory-leaks solaris

我一直在尝试分析执行批量代码时发生的泄漏。在dbx中发现了泄漏,泄漏情况如下所示。

  Total     Num of  Leaked     Allocation call stack
  Size      Blocks  Block
                    Address
==========  ====== =========== =======================================

272033    4431      -      operator new < std::basic_string<char,std::char_traits<char>,std::allocator<char> >::__getRep < std::basic_string<char,std::char_traits<char>,std::allocator<char> >::replace

有没有人遇到这种类型的泄漏。是否可以使用DBX注释分析泄漏。因为这是一个巨大的代码,因为代码泄漏的位置很难实现

2 个答案:

答案 0 :(得分:1)

我会尝试使用libumem运行应用程序,这有助于识别内存管理问题。

即使代码库很庞大,您也可以通过目标代码审核来解决这个问题。

答案 1 :(得分:0)

快速查看行显示this issue,看起来与您所看到的相似。它很老了 - 你用的是什么编译器版本?

如果是同样的问题,并且不可能进行全面升级,那么您的难点将是隔离调用该代码的位置并重新处理它以防止它发生。