Выберите варианты в которых нет логических ошибок

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

Синтаксическая ошибка — это ошибка в структуре кода (в написании, грамматике или пунктуации). Логические ошибки — это ошибки в логике программы или в значении переменных. Ошибками времени выполнения называются ошибки, происходящие в процессе выполнения программы.

За наиболее часто встречающимися ошибками можно заставить следить саму программу. Для этого в настройках проекта — соответствующее диалоговое окно вызывается с помощью команды Project^Options… (Проект^Настройки…) — выберите раздел Compiler (Компилятор) и выполните следующие действия (рис. 9.2).

■ В группе Code generation (Генерация машинного кода) сбросьте флажок Optimization (Оптимизация). Когда компилятор создает оптимизированный код, он нередко вносит существенные улучшения в детали алгоритма, и при этом для некоторых переменных может не выделяться память, т.е. отладчик не сможет их увидеть и, соответственно, их нельзя будет проконтролировать. Например, если программист вводит в процедуре локальную переменную х для хранения промежуточных результатов:

Логические ошибки

■ В группе Runtime errors (Ошибки времени выполнения) должны быть установлены флажки Range checking (Контроль выхода индекса за границы массива), I/O Checking (Контроль ошибок ввода-вывода) и Overflow checking (Контроль переполнения при целочисленных операциях).

■ В группе Debugging (Отладка) установите флажки Debug information (Добавление отладочной информации), Local symbols (Просмотр значений локальных переменных), Reference info (Просмотр структуры кода), Assertions (Включение процедуры Assert в машинный код) и Use Debug DCUs (Использование отладочных версий стандартных модулей библиотеки компонентов VCL).

ШБез отладочной информации отладка программы в среде Delphi вообще невозможна. Процедура Asserc выполняет отладочные функции. В заключительной версии программы она, как правило, не нужна, а удалять ее вызовы из исходного текста неудобно — их могут насчитываться сотни. Отключить генерацию машинного кода для этой процедуры можно с помощью флажка Assertions.

Теперь, если в программе, запушенной непосредственно из среды Delphi, встретится синтаксическая или даже простейшая логическая ошибка (например, деление на нуль или выход за заданные пределы диапазона), выполнение программы прервется, а строка, в которой встретилась ошибка, будет подсвечена.

При этом среда Delphi помогает быстро определить причину ошибки. Например, наводя указатель мыши на различные переменные, можно сразу увидеть их значения в окне всплывающей подсказки.

Более сложные ошибки разработчик должен отслеживать самостоятельно. Для этого применяется ряд стандартных приемов, однако требуется, чтобы отлаживаемая программа была запущена непосредственно из среды Delphi. Только тогда среда разработки сможет должным образом контролировать ход выполнения программы и изменение значений различных переменных.

⇐Причины ошибок || Оглавление || Защита от ошибок⇒

Источник

Поделиться:
Нет комментариев

Добавить комментарий

Ваш e-mail не будет опубликован. Все поля обязательны для заполнения.

×
Вам будет интересно