Я разрабатываю модуль расширения для Guile, написанный на C. Этот модуль расширения встраивает интерпретатор Python.
Поскольку этот модуль расширения вызывает интерпретатор Python, мне необходимо убедиться, что он правильно управляет памятью, занятой объектами Python.
Я обнаружил, что интерпретатор Python хорошо себя ведет в собственной обработке памяти, поэтому, запустив valgrind, я могу обнаружить утечки памяти из-за ошибок в моем собственном коде встраивания интерпретатора Python, если нет других мешающих факторов.
Однако, когда я запускаю Guile под valgrind, valgrind сообщает об утечках памяти. Такие утечки памяти скрывают любые утечки памяти из-за моего собственного кода.
Вопрос в том, что я могу сделать, чтобы отделить утечки памяти из-за ошибок в моем коде от утечек памяти, о которых Valgrind сообщил из-за Guile. Еще один инструмент вместо валгринда? Специальные варианты valgrind? Сдаться и положиться на ручное прохождение кода?