Міністерство освіти і науки України
Національний технічний університет України
«Київський політехнічний інститут імені Ігоря Сікорського»
Теплоенергетичний факультет
Кафедра автоматизації проектування енергетичних процесів і систем
Звіт
до лабораторної роботи №3
з дисципліни «Операційні системи»
Тема «Технологія роботи з налагоджувачем TurboDebugger (TD) фірми Borland»
Варіант 3
КИЇВ-2022
Мета роботи: ознайомитися з технологією роботи налагоджувача TD.
Теоретична частина:
Процес налагодження в загальному випадку можна розділити на чотири етапи:
1. Виявлення помилки.
2. Пошук її місцезнаходження.
3. Визначення причини помилки.
4. Виправлення помилки.
Турбо налагоджувач можна використати для вирішення двох важких проблем процесу налагодження: пошуку місця знаходження помилки і її причин. Також є можливість тестувати нові значення змінних, щоб побачити, як вони впливають на вашу програму. Ці можливості реалізуються за допомогою трасування, покрокового виконання, перегляду, змін й простежування. Турбо налагоджувач запускається таким чином: Td ім’я виконуваного файла.ехе Верхній рядок кадра відладчика – це головне меню./ Щоб вибрати потрібний пункт я нажимаю ctrl+Перша літера пункту. Відладчка програми здійснюється за допомогою трасування-F7(trace)(або ж у меню Run), тобто необхідно виконати покрокове (поператорне) виконання команд програми, при цьому буде заходити в кожний цикл, і проходити крок за кроком. Покрокове виконання - F8 (step) може виконувати програму, не заходячи в цикли. Коли в програмі викоанється рядок int21h, тобто закривається функція виведення на екран 09h (при цьому курсор ввстановлюється на команду, яка буде виконуватися наступною), необхідно натиснути Alt+F5 (це перехід в середовище DOS) на екрані користувача вивелося наше повідомлення NACHINAEM!. Щоб повернутись у вікно CPU для продовження відладки наступних операторів, необхідно натиснути знову Alt+F5 і продовжити відладку наступних операторів (з аналізом вікна регістрів). Для повторного виконання програми треба її рестартувати, вибираємо пункт Run - Program reset або натиснути CTRL+F2. У вікні Breakpoints виводяться встановлені точки зупинки. Точка зупинки визначає те місце у програмі, де буде зупинено виконання програми. Перед виконанням програми для встановлення точок переривань треба перейти в потрібний рядок програми та натиснути клавішу F2 (щоб вилучити точку знову натиснути цю клавішу). Рядок з контрольною точкою буде підсвічуватися червоним кольором.
/
У вікні Stack виводиться поточний стан стека. При цьому внизу зазначені найперші виклики функцій, а потім наступні виклики. Можна змінити (ввести) дані у вигляді символів, слів у області пам'яті(Dump). Можна вибрати формат відображення інформації у вікні дампу (байт, слово......)
/
Виконання роботи:/Відкривається вікно центрального процессора(CPU):/
З 5 областями:
Перша область (сегмент коду) містить машинні інструкції: вміст сегменту коду вихідної програми: CS: зсув, машинна інструкція та вхідна команда;
друга область (розташована нижче, сегмент даних) відображає шістнадцятирічні байти даних: DS: зсув шістнадцятирічні байти;
третя область відображає вміст регістрів центрального процесора : AX, BX, CX, DX, SI, DI, BP, SP, DS, ES, SS, CS, IP;
четверта область містить регістр прапорців ЦП: C, Z, S, O, P, A, I, D;
п’ята область відображає вміст стека у вигляді шістнадцятирічних байтів: SS: шістнадцятирічні байти. Переміщуватися між областями можна за допомогою клавіші Tab або Shift+ Tab
/
Трасуємо програму (F7), коли доходжу до рядка з int 21/
Натискаємо Alt+f5 і бачимо наше повідомлення:/ Натискаємо Alt+f5 щоб повернутись до вікна ЦП і рестартуємо програму(CTRL+F2) У вікні dump в рядку з даними замість пробілу вписуємо знак оклику(20 міняємо на 21):
/
І знову запускаємо програму і бачимо виправлене повідомлення NACHINAEM!!. /
Висновки:
Під час виконання дано\ лабораторної роботи я ознайомився с технологією роботи налагоджувача TurboDebugger. Попрацював з ЦП і з легкими операціями у ньому(Покрокове виконання коду, рестарт, виклик потрібного пункта меню, переміщення між окнами) на основі виконаної програми у ЛР-2.
Трасування: дозволяє виконувати програму по одному оператору.
Зворотне трасування: Ви можете виконати код у зворотному порядку.
Покрокове виконання: Ви можете виконувати програму по одному операторі, але пропускати виклики процедур і функцій. Якщо ви впевнені, що в процедурах і функціях немає помилок, то пропуск їхнього виклику збільшить швидкість налагодження.
Перегляд: Ви можете у Турбоналагоджувачі створити спеціальне вікно для показу всіляких речей - змінних, їхніх значень, точок зупинки, вмісту стека, файлів реєстрації, даних, файлів вихідних текстів, кодів ЦП, пам'яті, регістрів, інформації процесора, арифметики із плаваючою крапкою, виводу програми.
Перевірка: Ви можете у Турбоналагоджувачі одержати вміст складних структур даних з вашої програми.
Зміна: Можна змінити вміст змінної (як локальної, так і глобальної) на нове значення.
Простежування: Ви можете виділити деякі програмні змінні й простежувати зміну їхніх значень у процесі роботи програми.