我开发的一个模块,用于扩展诡计,编写C。这种扩展的模块嵌入了一条巨蟒的解释。

由于这种扩展的模块援引蟒蛇口译员,我需要确认它的正确管理内存占用的蟒蛇的对象。

我发现蟒蛇的口译员是表现良好,在其自己的内存处理,因此,通过运行才我可以找到记忆泄漏,由于错误在我自己的蟒蛇的口译嵌入代码,如果没有其他干扰因素。

然而,当我运行诡计下才,才报告的内存泄漏。这种存储器泄漏掩盖任何内存泄露由于我自己的代码。

问题是我可以做什么单独的存储器的泄漏,由于错误,在我的代码从存储器泄漏报告才由于诡计。另一个工具,而不是才?特殊才选择?得到最多并依赖手动代码的演练?

有帮助吗?

解决方案

你有几个选项。一种是编写一个supressions文件才关闭的报告的东西,你没有工作。蟒蛇有这样一个文件,例如:http://svn.python.org/projects/python/trunk/Misc/valgrind-python.supp

如果才不喜欢你的设置,另一个可能性是使用 libmudflap;编译程序 gcc -fmudflap -lmudflap, 和得到代码是仪表,用于指调试。描述了在海湾合作委员会的文档,并在这里: http://gcc.gnu.org/wiki/Mudflap_Pointer_Debugging

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top