代码之家  ›  专栏  ›  技术社区  ›  stusmith

是否可以在MFC应用程序的调试版本中替换内存分配器?

  •  1
  • stusmith  · 技术社区  · 14 年前

    我想利用 Electric Fence 在MFC应用程序中。我想追踪 new / delete 如果我能追踪 malloc / free 这是额外的奖金。

    不幸的是,MFC重新定义了 新的 删除 -但是使用宏(Debug GnEng-)-所以我不能使用标准的C++方法来重新定义它们。(MFC定义它们具有不同的签名,源文件和行号作为附加参数)。

    有什么办法可以强迫所有人 新的 / 删除 通过我的分配器,停止MFC尝试获取这些分配器?

    1 回复  |  直到 10 年前
        1
  •  1
  •   Arve    14 年前

    通过在stdafx.h结尾重新定义debug_new,可以停止new的mfc挂接。

    #undef DEBUG_NEW
    #define DEBUG_NEW new