gpt4 book ai didi

c++ - 通过智能指针查找谁创建了对象

转载 作者:太空宇宙 更新时间:2023-11-04 12:04:07 27 4
gpt4 key购买 nike

我几天前发布了有关智能指针内存泄漏的帖子。现在我能够找出哪些对象正在泄漏内存,但我无法从它们泄漏内存的位置找出它们。

我使用的代码与这里提到的相同 Detecting memory leak in reference counted objects

我看了很多评论,但没有一个解释得当。我尝试使用宏 FILELINE ,它们都打印文件和 refmanager 类的行。

是否有调试此问题的好方法。也请指出一些很好的示例。

最佳答案

最简单的方法可能是在 Windows 上使用 Valgrind(在 Linux 和 Mac 上)和一些类似的工具。

您还可以在智能指针的构造函数中获取回溯(在 Linux 和 Mac 上使用函数 backtrace() 函数)或在 Windows 上使用来自 dbghelp.dll 的类似函数,然后将回溯保存在分配的某个位置并删除释放的回溯。然后在退出时打印所有剩余的回溯。

关于c++ - 通过智能指针查找谁创建了对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12902021/

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