Роббинс Арнольд
Шрифт:
(Были добавлены номера строк в выводе, чтобы облегчить обсуждение.) Строка 8 является выводом программы; остальные от Valgrind в стандартную ошибку. Сообщение об ошибке находится в строках 9–17. Она указывает, сколько байтов было записано неверно (строка 9), где это случилось (строка 10), и показывает трассировку стека. Строки 13–17 описывают, откуда была выделена память. Строки 19–23 подводят итоги.
Опция
На этот раз в отчете указано, что запись была осуществлена в освобожденную память и что вызов
При вызове без опций
Строки 17–29 предоставляют отчет об утечке; эта память была выделена в строке 11
Помимо отчетов о неправильном использовании динамической памяти, Valgrind может диагностировать использование неинициализированной памяти. Рассмотрим следующую программу,