Возможны утечки памяти, когда valgrind сообщает, что утечки памяти нет - PullRequest
0 голосов
/ 26 сентября 2011

Мой C код не показывает утечку памяти при проверке с помощью valgrind.Но когда я интегрирую этот код с другой системой, которая имеет собственное управление памятью, но, конечно, вызывает malloc для выделения памяти, обнаруживается утечка памяти.Проверка Valgrind всегда была правильной, но на этот раз она не работает для меня.Я хотел бы знать, есть ли вероятность утечки памяти, хотя valgrind говорит об отсутствии утечки памяти.Какие параметры valgrind можно установить для определения самой сильной утечки памяти?

1 Ответ

3 голосов
/ 26 сентября 2011

Я думаю, что вполне возможно, что у вас все еще есть утечка памяти - не потому, что я думаю, что в valgrind есть ошибки, а потому, что я думаю, что интеграция его с другим проектом, вероятно, выполняет код по-другому, чем ваш тест. (К вашему сведению - я не обнаружил случаев утечки памяти, когда valgrind говорит, что мой код ясен, хотя это вряд ли исчерпывающее доказательство). Я думаю, что для решения этой проблемы нужно либо добавить тесты к вашей неинтегрированной версии, либо запустить интегрированную версию в valgrind.

Другими вариантами могут быть уверенность в том, что вы не подавляете какие-либо ошибки, которые могут быть вредными, добавьте --leak-check = full или иным образом поиграйте с настройкой valgrind.

...