我为 Guile 开发了一个扩展模块,用 C 编写。这个扩展模块嵌入了一个 Python 解释器。
由于此扩展模块调用 Python 解释器,我需要验证它是否正确管理 Python 对象占用的内存。
我发现 Python 解释器在其自己的内存处理中表现良好,因此通过运行 valgrind,如果没有其他干扰因素,我可以发现由于我自己的 Python 解释器嵌入代码中的错误导致的内存泄漏。
但是,当我在 valgrind 下运行 Guile 时,valgrind 报告内存泄漏。由于我自己的代码,此类内存泄漏掩盖了任何内存泄漏。
问题是我可以做些什么来将由于我的代码中的错误导致的内存泄漏与 valgrind 报告的由于 Guile 引起的内存泄漏分开。另一个工具而不是 valgrind?特殊的 valgrind 选项?放弃并依赖手动代码演练?