Міністерство освіти і науки УкраїниНаціональний технічний університет України
«Київський політехнічний інститут ім. І. Сікорського»
Кафедра автоматизації проектування енергетичних процесів і систем
Лабораторна робота №3
з дисципліни «Операційні системи»
«Технологія роботи з налагоджувачем TurboDebugger (TD) фірми Borland»
Мета роботи: ознайомитися з технологією роботи налагоджувача TD.
Порядок роботи:
Ознайомитися з етапами процесу налагодження програми.
Ознайомитися з можливостями TD.
Засвоїти типові операції (переміщення між вікнами налагоджувача, зміна вікон, покрокове виконання команд, внесення змін до даних оперативної пам’яті, внесення змін у вміст регістрів, внесення змін до стеку, встановлення контрольних точок).
Продемонструвати основні операції з налагодження на прикладі програми з лабораторної роботи № 2.
Теоретична частина:
Турбо налагоджувач можна використати для вирішення двох важких проблем процесу налагодження: пошуку місця знаходження помилки і її причин. Також є можливість тестувати нові значення змінних, щоб побачити, як вони впливають на вашу програму. Ці можливості реалізуються за допомогою трасування, покрокового виконання, перегляду, змін й простежування.
Трасування: дозволяє виконувати програму по одному оператору.
Зворотне трасування Ви можете виконати код у зворотному порядку.
Покрокове виконання. Ви можете виконувати програму по одному операторі, але пропускати виклики процедур і функцій. Якщо ви впевнені, що в процедурах і функціях немає помилок, то пропуск їхнього виклику збільшить швидкість налагодження.
Перегляд: Ви можете у Турбоналагоджувачі створити спеціальне вікно для показу всіляких речей - змінних, їхніх значень, точок зупинки, вмісту стека, файлів реєстрації, даних, файлів вихідних текстів, кодів ЦП, пам'яті, регістрів, інформації процесора, арифметики із плаваючою крапкою, виводу програми.
Перевірка. Ви можете у Турбоналагоджувачі одержати вміст складних структур даних з вашої програми.
Зміна. Можна змінити вміст змінної (як локальної, так і глобальної) на нове значення.
Простежування. Ви можете виділити деякі програмні змінні й простежувати зміну їхніх значень у процесі роботи програми.
Хід роботи:
Запускаємо турбоналагоджувач:
Монтуємо локальний диск та запускаємо файл lab2.exe у Turbo Debugger (TD).
/
Вигляд TD після запуску виконуваного файлу lab2.exe:
/
Вікно CPU, тут знаходяться 5 областей:
Перша область відображає вміст сегменту коду вихідної програми, CS: зсув, машина інструкція та команда;
Друга область (сегмент даних) відображає 16-кові байти даних: DS:зсув 16-річні байти;
Третя область відображає вміст регістрів центрального процесора;
Четверта область містить регістр прапорців;
П’ята область відображає вмсіт стека, містить стек у вигляді 16-річні байтів SS-16-кові байти.
Після запуску TD перше речення позначається значком ►. Натиснувши клавішу F7 або F8, ми виконуємо одне речення програми. Натиснувши F7 програма буде виконувати тіло циклу покроково, а F8 виконує цикли цілком, нерозривно.Проходим програму, натискаючи F8:
/
Результат роботи можна побачити у середовищі DOS, яке можна відкрити, натиснувши комбінацію клавіш ALT+F5:
/
Повернемося у вікно TD за допомогою комбінації клавіш ALT+F5. Виконаємо програму повторно, для цього необхідно її рестартувати, це можливо зробити вибиравши пункт Run - Program reset або натиснути комбінацію клавіш CTRL+F2.
За допомогою View – Dump можна відкривати вікно дампу.
/
Пройдемо одне речення за допомогою F8. І перейдемо до вікна дампа за допомогою клавіши Tab.
У вікні дампу оберемо регістр, який ми хочемо змінити. Замінимо значення 20 на 3F, що відповідає знаку питання
/
Для цього натиснемо комбінацію клавіш ALT+F10 – Change та змінимо один регістр.
/
/
Після цього проходимо програму ще раз клавішей F8. І отримаємо:
/
Висновки : у цій лабораторній роботі було ознайомлено з технологією роботи налагодження TurboDebugger фірми Borland.
Ознайомився з можливостями TD: переміщення між вікнами налагоджувача, зміни вікон, покрокового виконання програм, внесення змін, внесення змін у вміст регістрів. Для роботи була узято попередньо зроблена програма з лабораторної роботи №2.