首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >内存泄漏检测工具

内存泄漏检测工具
EN

Stack Overflow用户
提问于 2010-05-18 17:03:52
回答 5查看 2.2K关注 0票数 10

像purify和valgrind这样的内存泄漏检测工具是如何工作的?

我如何设计和实现我自己的这样的工具?

EN

回答 5

Stack Overflow用户

发布于 2010-05-18 17:11:05

这类工具通常使用它们自己的代码来检测可执行文件。例如,它们使用自己的函数替换对malloc()free()的每次调用,这允许它们遵循每次分配。

在Visual Studio中,只需使用C运行时库并使用_CrtDumpMemoryLeaks()家族中的函数即可自动完成此操作

票数 8
EN

Stack Overflow用户

发布于 2010-05-18 17:10:03

对于基本的泄漏检测,您只需挂钩到低级内存分配例程,例如,通过修补malloc/free。然后,您可以跟踪所有分配,并随后报告在适当的时间点未释放的任何分配,例如在退出之前。

票数 5
EN

Stack Overflow用户

发布于 2010-05-18 17:14:44

在实际工作中,valgrind工作得很好。它检测无效的读/写和内存泄漏。

对于业余爱好项目,您可以创建自己的内存管理模块,跟踪各种指针分配及其使用情况。如果你长时间没有看到某个内存位置被使用,那可能是一个漏洞。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2855802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档