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