Borland Pascal. Руководство пользователя

       

Трассировка или выполнение по шагам?


Пошаговое выполнение или трассировка выполняет одно и то же действие, кроме того случая, когда строка выполнения находится под строкой вызова процедуры или функции, или когда вы выполняете оператор begin в начале программы или модуля, который использует другие модули.

Выполнение begin в блоке begin..end основной программы вызы- вает код инициализации для любого используемого в программе моду- ля в том порядке, который указывается в операторе uses программы. Аналогично, выполнение оператора begin в начале секции инициали- зации вызывает код инициализации для любых модулей, используемых в данном модуле. Выполнение по шагам и трассировка работает в этих случаях как и можно ожидать - пошаговое выполнение begin вы- полняет всю инициализацию, возвращая управление на следующий опе- ратор только после того, как все будет завершено; при трассировке выполняется трассировка кода инициализации.

Примечание: О модулях и их секциях инициализации расс- казывается в Главе 7 "Модули Borland Pascal".

Пошаговое выполнение и трассировка методов объектов

Если вы используете в своей программе объекты, отладчик ин- терпретирует свои методы аналогично тому, как он интерпретирует обычные процедуры и функции. Пошаговое выполнение метода интерп- ретирует метод как один шаг, возвращая управление к отладчику после того как метод завершает выполнение. Трассировка метода загружает и выводит на экран код метода и трассирует его операто- ры.

Пошаговое выполнение и трассировка внешнего кода

Если вы выполняете в программе компоновку с внешним кодом, используя для этого директиву компилятора {$L имя_файла}, то если компонуемый файл .OBJ содержит отладочную информацию, вы можете трассировать этот код или выполнять его по шагам. Borland Pascal ничего не знает об отлаживаемом вами коде в этих модулях, но он будет показывать вам соответствующие строки в исходном коде.

Примечание: Требования к внешнему коду поясняются в Главе 25 "Руководства по языку".

Вы можете отлаживать внешний код, написанный на любом языке, включая Си, С++ и ассемблер. Если код отвечает требованиям для внешней компоновки и содержит полную стандартную отладочную ин- формацию, интегрированная среда отладчика может выполнять его по шагам или трассировать.



Содержание раздела