Описание тега memcheck

Memcheck - это инструмент динамического обнаружения ошибок памяти, присутствующий в среде Valgrind. В основном это помогает обнаружить ошибку, связанную с выделением-освобождением динамической памяти. Этот инструмент можно использовать для кодов C / C++.

Memcheck - это инструмент проверки ошибок динамической памяти, присутствующий в структуре valgrind. Он может обнаруживать ошибки, связанные с использованием динамической памяти в программах c и C++. В основном он показывает ошибочные случаи для следующих сценариев

  1. Вам не следует обращаться к памяти, например, переполнять и опускать блоки кучи, переполнять верхнюю часть стека и получать доступ к памяти после ее освобождения.
  2. Использование неопределенных значений, то есть значений, которые не были инициализированы, или которые были получены из других неопределенных значений.
  3. Неправильное освобождение памяти кучи, например двойное освобождение блоков кучи или несоответствующее использование malloc/new/new[] противfree/delete/delete[].
  4. Перекрытие src а также dst указатели в memcpy и связанные функции.
  5. Утечки памяти.

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

Любая отладка динамической памяти, выполненная с помощью инструмента memechek [или инструмента valgrind по умолчанию], должна быть отмечена этим тегом.