Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по МО.doc
Скачиваний:
47
Добавлен:
01.06.2015
Размер:
353.79 Кб
Скачать

2.3. Использование отладчика td

Не претендуя на полноту описания, приведем описание основ­ных функций и возможностей отладчика TD.

Как запустить программу под отладчиком

Запуск программы под отладчиком выполняется путем набора командной строки

td <EXE-файл>

Например,

td primer.exe

Что умеет и чего не умеет отладчик td

Что умеет:

  • трассировка (пошаговое выполнение) – можно выполнять про­грамму по одному оператору, пропуская (или не пропуская) при этом вызовы процедур и функций;

  • точки останова – выполнить программу до указанной в про­грамме точке;

  • просмотр – можно создать окна для показа самых различных вещей – значений и адресов переменных, точек останова, содержимого стека, регистров процессора и т.п.;

  • изменение – можно изменить содержимое переменных;

  • прослеживание – можно выделить некоторые переменные и отслеживать изменение их значений в процессе работы программы.

Что не умеет:

  • не имеет встроенного редактора текстов для изменения исход­ного текста программы. Однако позволяет вызвать любой текстовый редактор;

  • не может перекомпилировать вашу программу. Для этого вам нужен компилятор или ассемблер (например, TASM);

  • и самое главное, отладчик не сможет заменить процесс обду­мывания. Турбоотладчик является мощным средством, но при отсутствии мыслей он не экономит ни время, ни усилия.

Меню View Окно Module

В окне Module (Модуль) на экран выводится текст отлаживае­мой программы. Вы можете перемещаться по тексту, выполнять строки программы и просматривать данные и код.

Окно cpu

Окно CPU (ЦП) показывает текущее состояние центрального процессора (ЦП). Это окно содержит пять панелей (областей), в которых показаны:

  • дамп памяти (как правило, сегмент данных);

  • содержимое стека;

  • содержимое регистров ЦП;

  • машинные инструкции;

  • содержимое флагов ЦП.

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

Окно Watches

В окне Watches (Просмотр) выводятся переменные и их изме­няющиеся значения. Нажав клавиши Ctrl+F7 при позиционирова­нии курсора на имени переменной в окне Module, вы можете добавить в окно Watches новую переменную.

Локальное меню окна Watch (Alt+F10 или Ctrl+F10) содержит пункты:

  • Watch (Просмотр) выводит подсказку для ввода имени перемен­ной или выражения, чтобы добавить его к списку окна Watches (оно добавляется в конец списка);

  • Edit (Редактирование) позволяет редактировать выражение в окне Watches. Вы можете изменять то, что там находится или вводить новое значение;

  • Remove (Удаление) удаляет из окна Watches текущую выбранную запись;

  • Delete All (Удалить все) удаляет из окна Watches все записи;

  • Inspect (Проверка) открывает окно проверки (окно Inspector), в котором выводится содержимое подсвеченной в данный момент в окне Watches записи;

  • Change (Изменение) изменяет значение подсвеченной в данный момент записи в окне Watches на значение, которое вы вводите в ответ на подсказку.

Окно Dump

В окне Dump (Дамп) выводится в непосредственном виде содер­жимое области памяти. (Это окно эквивалентно области дампа окна CPU.) Вы можете выводить данные в виде символов, шестна­дцатеричных байтов, слов, двойных слов, или в любом формате с плавающей точкой. Данное окно можно использовать для про­смотра в непосредственном виде некоторых данных, когда вам не требуются остальные части окна CPU. В локальном меню этого окна имеются команды, позволяющие вам модифицировать выво­димые данные, изменять формат их вывода, а также манипулиро­вать блоками данных.

Локальное меню окна Dump (Alt+F10 или Ctrl+F10) содержит пункты:

  • Goto (Переход) – выводит на экран данные по новому адресу;

  • Change (Изменение) – изменяет байты данных по адресу курсора;

  • Display As (Режим вывода) – задает режим вывода дампа: байтами, словами и т.п.