Как подавить предупреждение «неверное чтение» для GOT в valgrind? - PullRequest
0 голосов
/ 29 января 2019

Я использую valgrind memcheck как часть моих модульных тестов.Valgrind выдает «Недопустимое чтение размера 8» для конкретных тестовых представлений и изменяет GOT (глобальную таблицу смещений) процесса.Я хотел бы подавить это предупреждение предпочтительно только для GOT (то есть должны быть выданы другие предупреждения «недопустимых чтений»).Есть ли способ сделать это без определения файла подавления valgrind?В качестве аргумента я могу передать valgrind через CMake / CTest?

1 Ответ

0 голосов
/ 29 января 2019

Если вы уверены, что подавить ошибку безопасно, я предлагаю вам сделать следующее:

  1. Запустить Valgrind с параметром --gen-suppressions = all.Выходной файл / файл журнала будет содержать условие подавления, которое можно использовать в файле подавления.
  2. Создайте файл подавления для теста и скопируйте предложение (я), сгенерированное на шаге 1. Измените параметр «вставьте подавление».name here 'bit, чтобы быть чем-то значимым и уникальным.
  3. Проверьте, подходит ли глубина стека вызовов для подавления.Если вы запускаете Valgrind более чем на одной платформе, вам может понадобиться либо подстановочные пути к библиотекам, либо добавить дополнительные подавления для каждой платформы.
  4. Обновите тест для запуска Valgrind с использованием файла подавления, --suppressions =
...