Перехват Valgrind в клиентском коде: утечка памяти для определенных функций - PullRequest
0 голосов
/ 06 мая 2018

Существуют ли какие-либо функции или макросы Valgrind, доступные при использовании в коде приложения? Я могу генерировать утечки памяти в конкретной функции. Другими словами, мне нужно учитывать отсутствие утечек памяти после вызова определенной функции приложения.

1 Ответ

0 голосов
/ 07 мая 2018

Valgrind имеет два механизма взаимодействия между Valgrind и тестируемым приложением.

  1. команды gdbserver и здесь для команд контроля memcheck . Вы можете запустить свое приложение под Valgrind, а затем присоединить GDB. Затем вы можете вводить команды для создания таких вещей, как создание отчета об утечке в этот момент. В вашем случае вы можете использовать команду leak_check.
  2. Valgrind клиентские запросы , а также здесь . Чтобы использовать это, вам нужно включить заголовки Valgrind, такие как «valgrind / memcheck.h» и перекомпилировать. Затем есть множество макросов, которые вы можете использовать для выполнения таких задач, как запрос состояния памяти. В вашем случае вы можете использовать VALGRIND_DO_LEAK_CHECK.

Я написал статью об использовании этих механизмов несколько лет назад, доступную онлайн здесь .

...