В моей программе, даже если выполнять всю очевидную уборку, такую как вызов cairo_destroy()
, cairo_surface_destroy()
..., valgrind
всегда находит утечки памяти, утечки находятся в cairo
зависимостях (freetype
, pixman
,...). Как сделать очистку после cairo
, чтобы valgrind
не обнаружил утечек, или утечки нормальные?
Пример вывода
==1861== HEAP SUMMARY:
==1861== in use at exit: 1,996,663 bytes in 532 blocks
==1861== total heap usage: 21,915 allocs, 21,383 frees, 95,411,698 bytes allocated
==1861==
==1861== LEAK SUMMARY:
==1861== definitely lost: 0 bytes in 0 blocks
==1861== indirectly lost: 0 bytes in 0 blocks
==1861== possibly lost: 0 bytes in 0 blocks
==1861== still reachable: 1,996,663 bytes in 532 blocks
==1861== suppressed: 0 bytes in 0 blocks
==1861== Reachable blocks (those to which a pointer was found) are not shown.
==1861== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==1861==
==1861== For counts of detected and suppressed errors, rerun with: -v
==1861== Use --track-origins=yes to see where uninitialised values come from
==1861== ERROR SUMMARY: 1961 errors from 7 contexts (suppressed: 1 from 1)
ОБНОВИТЬ:
В этом вопросе говорится, что "утечки" нормальны, существует ли способ сделать очистку, чтобы valgrind стал счастливым?