Cтраница 1
Трассировка программ заключается в непрерывном выполнении команды одной за другой. Она не дает возможности программисту изменять на каждом шагу содержимое регистров или памяти. Кроме того, не все программы-трассировщики позволяют контролировать содержимое ячеек памяти. Программисту остается только контролировать содержимое регистров, изменяемое в ходе выполнения программы согласно алгоритму и выбранным начальным переменным. [1]
Трассировка программ заключается в непрерывном выполнении команды одной задругой. Она не дает возможности программисту изменять на каждом шагу содержимое регистров или памяти. Кроме того, не все программы-трассировщики позволяют контролировать содержимое ячеек памяти. Программисту остается только контролировать содержимое регистров, изменяемое в ходе выполнения программы согласно алгоритму и выбранным начальным переменным. [2]
Оператор TRACE OFF отменяет трассировку программы, указанную оператором TRACE ON в одном из предшествующих пакетов отладки. Трассировка прекращается перед выполнением оператора, метка которого указана в операторе AT, идентифицирующем данный пакет отладки. [3]
Операторы TRACE ON и TRACE OFF используются для трассировки программы или ее части. Точка начала и конца трассировки задается с помощью операторов AT, стоящих перед ними. Если при выполнении трассировки было обращение к подпрограмме, для которой режим трассировки не задан, то трассировка подпрограммы не осуществляется. Если в операторе DEBUG не задан режим TRACE, то трассировка не выполняется. [4]
Различают два способа отладки программ: пошаговый режим и трассировка программ. [5]
Кроме того, программист может разработать средства, обеспечивающие трассировку программы, распечатку состояния программы в контрольных точках, запуск и останов программы в любой ее точке. На первый взгляд может показаться, что написание программ значительного объема, которые впоследствии неизбежно будут выброшены, с точки зрения трудозатрат неэффективно. Однако следует иметь в виду, что эти программы дают существенную экономию времени отладки. У хорошего программиста средства отладки могут составлять до 50 % всего объема разрабатываемой программы. [6]
Значительные удобства при отладке программ дает использование состояния CHECK, позволяющего произвести трассировку программы или ее отдельных частей. [7]
Режим FLOW [ ( N1, N2) ] NOFLOW указывает на необходимость провести трассировку программы во время ее выполнения и выдать на печать протокол. Этот протокол позволяет анализировать последовательность выполнения операторов программы. [8]
Инструкция ЮТ используется для вызова процедур ввода-вывода, обработки ошибок в ряде операционных систем, ВРТ - для трассировки программ в отладчиках. [9]
Выполняемые операторы TRACE ON, TRACE OFF и DISPLAY помещаются в пакеты отладки и используются для указания границ трассировки программы, а также для распечатки значений отдельных переменных и массивов. Кроме этих операторов, в пакеты отладки могут быть включены любые другие выполняемые операторы Фортрана. [10]
Выполняемые операторы TRACE ON, TRACE OFF и DISPLAY помещаются в пакеты отладки и используются для указания границ трассировки программы, а также для распечатки значений отдельных переменных и массивов. Кроме этих операторов, в пакеты отладки могут быть включены любые другие выполняемые операторы Фортрана. Следует помнить, что все отладочные операции задаются для одной программной единицы. [11]
В прототипе КОНСУЛЬТАЦИЯ на рис. 20 слот ЗАПОЛНИТЬ содержит три задачи, которые устанавливают переменные для консультации: уровень трассировки ( от 0 до 3), который позволяет пользователю выбрать уровень трассировки программы; переменная, которая определяет, должны ли печататься задачи, когда они вошли в очередь или выбраны для выполнения; и переменная, которая устанавливает стратегию выбора текущего лучшего прототипа из списка гипотез. Пользователь может избрать одну из трех стратегий: стратегию подтверждения, которая выбирает прототип, лучше всего соответствующий данным, и стремится подтвердить этот прототип; стратегию исключения, которая выбирает прототип, хуже всего соответствующий данным, и пытается исключить этот прототип; и стратегию фиксированного порядка, которая всегда исследует прототипы в заранее заданном порядке. [12]
Для отладки пользовательских программ необходима служебная программа, обеспечивающая удобное и точное выполнение тех же самых операций, которые пользователь мог бы делать с помощью консольных переключателей, при распечатке памяти и селективной трассировке программы. [13]
При этом клавишей Fl вызывается появление окна подсказки с информацией о текущем положении; клавишей F2 осуществляется запись на диск файла, находящегося в настоящий момент в редакторе; клавишей F3 производится загрузка файла; клавишей F4 осуществляется выполнение до места расположения курсора; клавишей F5 увеличивается окно, находящееся в активном состоянии, до размеров экрана и уменьшает его до прежних размеров; клавишей F6 переключается окно в активное состояние; клавишей F7 включается трассировка программы; клавишей F9 запускается команда создания ( Make); клавишей F10 производится переключение между активным окном и меню. [14]
Интегрированная среда разработки Delphi предоставляет программисту отладчик - мощное средство поиска и устранения ошибок в программе. Отладчик позволяет выполнять трассировку программы, наблюдать значения переменных, контролировать выводимые программой данные. [15]