gpt4 book ai didi

c++ - 在对象的 d-tor 期间检测内存泄漏

转载 作者:太空狗 更新时间:2023-10-29 23:53:54 30 4
gpt4 key购买 nike

我的应用程序是基于 dll 的实现,可能会在卸载期间泄漏内存。我在卸载/重新加载周期中注意到它(当托管进程未被终止时)。宿主进程的虚拟内存正在增加。

我已经通过代码检查来尝试找到泄漏的代码,但没有找到。

我正在寻找其他技术来检测卸载期间的内存泄漏(对象正在被销毁)。

编辑:我使用的是 win32 (XP) 平台。

您有使用此类工具/程序的经验吗?谢谢

最佳答案

我很久以前做过的是这样的:

我写了自己的mymallocmyreallocmyfree(并重载了newdelete 以便他们调用我的函数。)然后我编写了 mallocrealloc 宏,它们调用了 mymallocmyrealloc,将它们传递给 __FILE____LINE__mymalloc 所做的是:它调用标准库的 malloc 函数,分配一个稍大的 block ,并插入 __FILE____LINE__ 在该 block 中。它还将所有分配的 block 保存在一个链表中,以便以后能够遍历它们。

在程序退出时,我会遍历未释放的 block 列表,然后打印出导致内存泄漏的文件和行。

现在我假设会有现成的工具,您可以使用这些工具来为您做这些事情。

关于c++ - 在对象的 d-tor 期间检测内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8692419/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com