## Работа с отладчиком Чтобы включить в исполняемый файл отладочные символы, при компиляции следует указать флаг `-g`.Он не замедляет работу программы, а увеличение размера файла на килобайт-другой в большинстве случаев несущественно. Отладка также упрощается при отключении оптимизации с помощью флага `-O0` (О нуль), потому что иногда оптимизатор устраняет переменные, которые могли бы оказаться полезны при отладке, да и вообще видоизменяет код всякими неожиданными способами. ## Испольэование Valgrind лля поиска ошибок Valgrind запускает виртуальную машину, которая лучше следит за использованием памяти, чем реальная, и потому знает, что вы обратились к десятому элементу массива, в котором всего 9 элементов. Откомпилировав программу ( в gcc и Clang, разумеется, с флагом -g для включения отладочных символов), выполните команду: ``` valgrind your_program ``` Valgrind умеет также обнаруживать утечки памяти: ``` valgrind --leak-check=full your_program ```