我正在使用gnu mtrace工具检查C代码中是否存在内存泄漏。这将生成一个难以读取的文本文件(可能是所有动态内存操作的日志),该文件可以由一个也称为mtrace的perl脚本解释。
我试过使用mtrace脚本版本2.15,但这似乎无法正常工作,报告的内存地址与已释放但未分配和已分配但未释放的内存地址相同。
可能与文本文件格式不匹配(文本文件没有版本号)。
我尝试了版本2.5.和2.7,由于过时的perl语法(运行PerlV5.10.1),它们看起来不会运行。
有没有人有过类似的问题并解决了?

最佳答案

我认为mtrace脚本v2.15很好。
报告为未经分配而被释放的内存地址在重新使用之前被释放,随后的分配半一致地使用相同的地址。事实上,它们最初是在我开始mtrace之前分配的。

关于c - 如何找到正确的mtrace脚本来解释mtrace输出?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26216840/

10-13 07:30