3.3  Ситуации, возникающие при неверных результатах

Отладка начинается с того момента, когда компилятор перестает выдавать сообщения о синтаксических ошибках. В начале процесса отладки нужно использовать простые тестовые данные. Если получаются верные результаты, следует переходить к тестированию программы посредством более сложных данных. Если результаты неверны, то могут возникнуть следующие ситуации:

1) синтаксических ошибок нет, но программа не скомпилирована. В этом случае нужно выяснить причину, посмотреть все сообщения, если происходит системное прерывание, нужно путем сегментирования  локализировать участок программы и ликвидировать причину;

2) программа скомпилирована, получен exe-файл, но нет результатов. От такой программы мало проку. Такие неполадки могут вызываться какими-либо логическими или системными ошибками. Возможна системная ошибка при реализации программы, когда программа ушла на прерывание (деление на ноль, обращение к области данных и восприятие их как инструкций, неверная индексация массива, переполнение или потеря значимости и т.д.);

3) преждевременный останов. Программа начинает работать, выдаются какие-то результаты, но затем работа программы преждевременно прекращается. Ошибки, приводящие к преждевременному прекращению работы программы и сопровождаемые затем сообщением о системной ошибке, называются взрывами (blowup) или воронками (cratered). Это тяжелые ошибки, так как они не дают возможности продолжать выполнение программы;

4) неверные результаты. Опытные программисты всегда считают это удачей, так как программа в принципе правильна, её логика работает точно, но нужно устранить ошибки, формирующие результат;

5) зацикливание. Этот вид ошибок обнаружить и локализировать несложно.