Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

К содержанию



Запускать программу отладчика можно из командной строки, в качестве параметров указывая имя отлаживаемой программы:

> td lab1.exe.

Возможен запуск td.exe без параметров, в этом случае для выбора отлаживаемого файла выбирается в главном меню программы пункт File -> Open и из открывшегося окна выбирается файл (например, lab1.exe). После загрузки на экране будет отображена наша программа (рис.1).

Рисунок 1 – Вид отладчика после загрузки программы.

В окне Watches можно просматривать значения переменных, однако для более детальной отладки программы нужно иметь возможность видеть регистры, флаги и память одновременно. Для такого просмотра программы выберем в меню View->CPU. Экран примет вид, показанный на рис. 2.

Рисунок 2 Вид отладчика в режиме просмотра СPU.

Как видно из рисунка, окно СPU разделено на 5 частей. Переключаться между частями можно либо мышкой, либо клавишей TAB. Самая большая часть – окно кода программы. Первая колонка в этом окне – логический адрес команды в виде сегмент: смещение (например, cs:0000). Вторая колонка – машинный код команды (например, 1Е). Третья колонка – мнемокод команды и ее операнды (например, push ds). Черный треугольник указывает на команду, которая сейчас будет выполняться (но еще не выполнилась!). Регистр IP содержит адрес этой ячейки памяти. В части, правее большого участка окна, показано содержимое регистров общего назначения (ax, bx, cx, dx, si, di, bp), сегментных регистров (cs, ds, es, ss) специальных регистров (ip, sp). В процессе отладки можно менять состояние регистров. Еще правее показан регистр флагов состояния процессора. В нижнем правом углу отображается стек программы. Черный треугольник указывает его вершину (регистр SP содержит адрес этой ячейки памяти). Адреса в окне стека возрастают снизу вверх. Просмотр состояний стека выполняется клавишами управления курсора. Разрешено изменять значения слов в стеке.

Остальную нижнюю область занимает область памяти (Dump). Первая колонка это логический адрес памяти. Далее 8 колонок это значения байт памяти в 16 с.с. Справа записаны строки, в которых символы отображают значения байт памяти в кодах ASCII. В этом окне можно просматривать память сегментов программы. Чаще всего здесь просматривают сегмент данных. Для этого, сделав это окно активным, нужно набрать комбинацию Ctrl-G и в появившемся окне ввести ds:0000 (рис.3). Но делать это нужно после того, как в программе будет выполнена загрузка сегментного регистра ds адресом начала сегмента данных, т.е. после команд

mov ax, data

mov ds,ax.

Рисунок 3 – Выбор начального адреса для просмотра памяти

После выбора начального адреса дамп памяти будет иметь вид, показанный на рис.4. Первый байт дампа 02 – значение переменной а, второй байт FB – значение переменной b=-5 (отрицательные числа хранятся в дополнительном коде), третий байт 11 – значение переменной с=17 (в 16 с.с). Переменная х не инициализирована и в дампе памяти равна нулю. Если выполнить программу до конца, то в этом поле памяти будет находиться окончательный ответ формулы.

Рисунок 4 – В дампе памяти отображен сегмент данных программы

Для переменных, описанных в сегменте данных типом word (dw), дамп памяти будет иметь вид, показанный на рис.5.

Рис. 5 – В дампе памяти отображен сегмент данных программы с переменными типа word

Как видно из рис.5, под каждую переменную отводится два байта, но байты располагаются в обратном порядке. Для удобства просмотра таких переменных можно командой Ctrl-D изменить порядок расположения байтов в словах (word), двойных словах (long), и т.д. (рис.6)

Рисунок 6 – Результат отработки команды изменения формата отображения данных

Пункт меню RUN определяет режимы выполнения (отладки) программы, которые представлены в таблице 1.

Таблица 1 – Режимы выполнения программы.





Дата публикования: 2015-04-10; Прочитано: 213 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...