Отладка программы отладчиком Turbo Debugger
Отладчик Turbo Debugger, разработанный фирмой Borland International, представляет собой оконную среду отладки программ на уровне исходного текста на языке ассемблер, а также Pascal и С. Он позволяет решить две главные задачи:
ü определить место логической ошибки;
ü определить причину логической ошибки.
Запуск отладчика осуществляется из командной строки с указанием исполняемого модуля программы, которая подлежит отладке:
td имя_исполняемого_модуля
Среда Turbo Debugger включает в себя набор меню, диалоговых окон и специальных окон отладчика. Методика отладки откомпилированных программ с помощью отладчика Turbo Debugger в некоторой степени похожа на отладку программ в интегрированных средах Pascal или C.
Чтобы произвести отладку программы с помощью Turbo Debugger нужно произвести ассемблирование с опцией zi, а компоновку - c v, которые добавляют отладочную информацию в obj - и exe-файлы. Например, для файла hello. asm:
tasm /zi hello.asm – ассемблирование.
tlink /v hello.obj – компоновка.
Замечание. Без этих опций Turbo Debugger загрузит программу для отладки, однако отладчик будет показывать только дизассемблерные машинные коды. С опциями командной строки отладчик может показывать метки, структуры переменных, строки исходной программы и другую информацию.
После компиляции и компоновки программ с включенной отладочной информации можно начать процесс отладки, запустив Turbo Debugger и загрузив с ним программу: td hello.exe
При правильном выполнении перечисленных выше действий откроется окно отладчика под названием Module (рис. 1.3). В этом окне отображается исходный текст программы и курсор выполненияв виде треугольника.
Информация о состоянии микропроцессора отображается в окне центрального процессора, которое активизируется последовательностью команд View/CPU. Между этими окнами существует принципиальное различие. В окне просмотра исходного кода отображается копия текста программы, а в CPU-окне осуществляется непосредственный просмотр памяти. Кроме этого CPU-окно отражает состояние микропроцессора и состоит из 5 частей:
1.
Окна с исходной программой в дизассемблированном виде – та же самая программа, что и в окне Module, но уже в машинном виде. Пошаговую отладку можно производить прямо в этом окне. Строка с текущей командой подсвечивается.
2. Окно регистров микропроцессора - отражает текущее содержимое регистров. По умолчанию отображаются регистры только i8086.
3. Окна флагов – отражает текущее состояние флагов микропроцессора в соответствии с их мнемоническими названиями;
4. Окна стека– отражает содержимое памяти, выделенной для стека. Адрес области стека определяется содержимым регистров SS и SP.
5. Окна с дампом памяти– отражает содержимое области памяти по адресу, который формируется из компонентов, указанных в левой части окна.
Запустить программу на выполнение в отладчике можно в одном из четырех режимов:
- режим безусловного выполнения – клавиша F9;
- выполнение по шагам – клавиша F7 или F8;
- выполнение до текущего положения курсора – клавиша F4
- выполнение с установкой точек прерывания.
Прервать выполнение программы в любом из этих режимов можно, нажав Ctrl + F2.
Завершить работу с отладчиком - команда FILE –> Quit или с помощью клавиш <Alt + X>.
Замечание. TD не позволяет вносить исправления в исходный текст программы. После определения причины ошибочной ситуации можно, при необходимости, не завершая работу отладчика, внести исправления прямо в машинный код и запустить программу на выполнение. После завершения работы отладчика эти изменения не будут сохранены, и нужно внести их повторно, но уже в исходный текст, и повторно создать загрузочный модуль.