Запретите valgrind для проверки утечки памяти в общих библиотеках, связанных с нашим приложением - PullRequest
1 голос
/ 14 января 2011
valgrind-3.6.0.SVN-Debian
gcc (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5
2.6.35-22-generic

Я использую valgrind для обнаружения ошибок памяти в нашем коде.

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

Можно ли настроить valgrind только для проверки нашего исходного кода и не заходить в общие библиотеки?

Существует ли какое-либо другое программное обеспечение для проверки памяти с открытым исходным кодом, которое может сделать это, если valgrind не может?

Большое спасибо за любые предложения,

Ответы [ 2 ]

4 голосов
/ 14 января 2011

Вы можете попробовать подавить ошибки, сгенерированные кодом библиотеки:

http://valgrind.org/docs/manual/manual-core.html#manual-core.suppress

2 голосов
/ 14 января 2011

Вполне возможно, что ошибки, сообщаемые в коде библиотеки, на самом деле связаны с ошибками в вашем коде вызова.

Например, если вы передаете неверный указатель или короткий буфер в код библиотеки, вы можете вызвать ошибки доступа в этом коде; или если код библиотеки предоставляет функцию освобождения ресурса, которую ваш код игнорирует, вы можете вызвать сообщения об утечке памяти, связанные с кодом библиотеки.

...