gpt4 book ai didi

c - 跟踪内存分配

转载 作者:太空宇宙 更新时间:2023-11-04 02:13:37 24 4
gpt4 key购买 nike

是否有任何方法可以跟踪 C 程序的每一步分配、重新分配和释放了多少内存?我的意思是程序中的所有分配都是一步一步的,而不是错误、内存泄漏或类似的东西。

最佳答案

一种常见的方法是用宏覆盖 malloc/free:

#define malloc(size) custom_malloc(size, __FILE__, __LINE__)

然后您可以让 custom_malloc 执行正常的 malloc,并将分配信息转储到一个文件(或任何您想用它做的事情)。

要跟踪有多少内存在 free 中被释放,一种选择是在每次 malloc 调用时分配一个额外的字段来存储分配的大小,然后您可以在释放时检查它。或者您可以将 malloc/free 指针转储到文件,然后编写脚本进行后处理并将它们排列起来。这在某种程度上取决于您要对信息做什么。

关于c - 跟踪内存分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10515127/

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