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