使用 C 扩展 python 时查找内存泄漏

Find memory leaks when extending python with C

我写了一些 C 代码来创建 python 模块。我自己编写了代码(没有使用 SWIG 等)。如果您有兴趣,C 代码位于 线程的底部。

问:有没有办法(希望是轻松地)发现我的 C 代码是否存在内存泄漏?有什么方法可以利用 python 在其扩展中查找内存泄漏的强大功能吗?

如果您使用 linux 环境,我们可以使用名为 valgrind 的调试器轻松找到内存泄漏。 要首先获取 valgrind,您必须使用命令

从互联网上安装它

sudo apt-get valgrind

安装完成后,使用此调试器编译您的 C 代码,您可以轻松找到内存泄漏。此调试器显示内存泄漏的原因,并指定发生泄漏的行。