Файлы подавления утечек памяти Qt с помощью Valgrind
Я обычно пишу свои классы на C++ и проверяю, не утечка ли они памяти с помощью valgrind на платформе Linux. Я не удовлетворен, пока вся память кучи не будет освобождена.
начав писать в Qt, я обнаружил, сколько утечек обнаруживает valgrind, также в простом проекте. Их так много, что трудно обнаружить те же самые утечки.
Я где-то читал, что возможно использовать файлы подавления для valgrind, которые помогают отфильтровать нежелательные утечки, но я не могу найти он.
Я использую Ubuntu 11.04 x64, g++ 4.5, Qt 4.7. Кто-нибудь знает как справиться с этой проблемой?
3 ответов
ты этот" файл подавления Valgrind Howto " wiki?
просто для записи есть некоторые базовые библиотеки в Qt (особенно в процессе рисования), которые всегда пропускают небольшой объем памяти. Это то, что вам нужно подавить.
Как вы сказали, Вы должны сначала создать минимальный проект, запустить его, чтобы создать файл подавления valgrind, а затем применить этот файл подавления к вашему проекту.
просто обратите внимание, что многие библиотеки имеют внутренние структуры распределения, которые вы никогда не достигнете, чтобы очистить, и это нормально.
Я просто использую файл подавления, чтобы подавить всю память, сообщенную из библиотеки Qt, следующим образом:
{
<QtCore>
Memcheck:Leak
...
obj:/usr/lib/x86_64-linux-gnu/libQtCore.so.4.8.6
}
...