Игнорировать часть кода с помощью valgrind — memcheck

Я использую модули массива, sgcheck и memcheck valgrind для проверки проекта c / c ++.
Я хотел бы знать, возможно ли заставить valgrind игнорировать часть кода. Когда я запускаю его в своем проекте, у меня возникает что-то вроде 248 разных «ложных» ошибок, генерируемых вызовом opencv.
Это нормально, но в настоящее время я не могу избежать этого вызова, поэтому я бы хотел, чтобы valgrind игнорировал эту часть кода.

Я пытаюсь создать файл, чтобы «подавить» его ошибку, добавив --gen-suppressions=all --log-file=valgrind.out в моей командной строке, чтобы сгенерировать файл, чтобы игнорировать ошибку. Но есть некоторый «ручной процесс», например, удаление блока 248 из файла журнала, и я бы хотел этого избежать.

Итак: знаете ли вы, есть ли способ (немного похожий на ifdef или ifndef) заставить valgrind игнорировать часть кода?

Спасибо !

0

Решение

Наконец я сделал это с помощью --gen-suppressions=all --log-file=valgrind.out :

  • добавлять --gen-suppressions=all –log-file=valgrind_tmp.out проверить команду
  • sed '/==/ d' valgrind_tmp.out > valgrind.out убрать все ненужные строки
  • Теперь запустите memcheck с --suppressions=valgrind.out

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]