Professional Documents
Culture Documents
3
3
Порядок роботи:
1. Ознайомитися з етапами процесу налагодження програми.
2. Ознайомитися з можливостями TD.
3. Засвоїти типові операції (переміщення між вікнами налагоджувача, зміна
вікон, покрокове виконання команд, внесення змін до даних оперативної
пам’яті, внесення змін у вміст регістрів, внесення змін до стеку, встановлення
контрольних точок).
4. Продемонструвати основні операції з налагодження на прикладі програми з
лабораторної роботи № 2, тобто виконуваного файлу *.exe, який ви створили,
наприклад, Privet.exe.
Теоретична частина
Процес налагодження в загальному випадку можна розділити на чотири
етапи:
1. Виявлення помилки.
2. Пошук її місцезнаходження.
3. Визначення причини помилки.
4. Виправлення помилки.
Турбо налагоджувач можна використати для вирішення двох важких проблем
процесу налагодження: пошуку місця знаходження помилки і її причин. Також є
можливість тестувати нові значення змінних, щоб побачити, як вони впливають на
вашу програму. Ці можливості реалізуються за допомогою трасування, покрокового
виконання, перегляду, змін й простежування.
Трасування: дозволяє виконувати програму по одному оператору.
Зворотне трасування Ви можете виконати код у зворотному порядку.
Покрокове виконання. Ви можете виконувати програму по одному
оператору, але пропускати виклики процедур і функцій. Якщо ви впевнені, що в
процедурах і функціях немає помилок, то пропуск їхнього виклику збільшить
швидкість налагодження.
Перегляд: Ви можете у Турбоналагоджувачі створити спеціальне вікно для
показу всіляких речей - змінних, їхніх значень, точок зупинки, вмісту стека, файлів
реєстрації, даних, файлів вихідних текстів, кодів ЦП, пам'яті, регістрів, інформації
процесора, арифметики із плаваючою крапкою, виводу програми.
Перевірка. Ви можете у Турбоналагоджувачі одержати вміст складних
структур даних з вашої програми.
Зміна. Можна змінити вміст змінної (як локальної, так і глобальної) на нове
значення.
Простежування. Ви можете виділити деякі програмні змінні й простежувати
зміну їхніх значень у процесі роботи програми.
Турбо налагоджувач запускається таким чином:
Td ім’я виконуваного файла.ехе
1
Використання меню
Існує 4 способи вибору пунктів з головного меню:
1. Натиснути F10, підвести курсор до необхідного елементу меню і натиснути
клавішу Enter.
2. Натиснути клавішу F10 і клавішу з першою буквою елементу меню (F, E, V, R,
В, D, О, W, H).
3. Натиснути клавішу Alt одночасно з першою клавішею пункту (елементу)
меню {F, Е, V, R, В, D, О, W, Н) для активізації вибраного меню команд.
Команда системного меню Ё Repaint Desktop (Система Восстановление оперативной
области экрана) відновлює екран операційного середовища у випадку, коли було
перемикання між екранами. Команда Ё Restore Standard (Система Восстановление
стандартной схемы) відновлює ту схему відладчика, в яку ви увійшли при
завантаженні ТD.
4. Вибрати елемент (пункт) меню за допомогою маніпулятора типу "миша" і
натиснути кнопку. Для переміщення по всім меню окрім головного
використовуйте наступні клавіші: стрілки вправо/ вліво для переміщення від
одного меню, що спускається, до іншого (наприклад, коли ви знаходитеся в
меню File, натискання стрілки вліво перемістить вас в меню View). Для
переміщення по командам конкретного меню використовуйте стрілки вгору і
вниз. Використовуйте клавіші Ноme й End для переміщення до першої та
останньої альтернатив (команд) меню, відповідно.
Більшість вікон Турбо відладчика (15 типів вікон) виводиться з меню View
(Огляд). Інший клас вікон, що називається вікнами перевірки (Inspector), виводиться
при виборі елемента меню Data Inspect (Дані Перевірка) або команди локального
меню Inspect.
Коли ви відкриваєте одне (або більше) із цих вікон, їх можна переміщувати,
міняти розмір, закривати й виконувати інші операції за допомогою команд меню
Window (Вікно) ALT-F3 закриває вікно, ALT-F6 - відновлює і Е (System- Система).
Після запуску TD Privet.exe відкривається вікно Module, в якому
відображається модуль Privet.asm. Це вікно також можна відкрити у випадку
запуску TD, далі слід відкрити файл за допомогою команди ALT+F або меню
File→Open , отримаємо вікно з шаблоном виконуваних модулів *.exe, натискаємо
або Browse, або на клавіатурі стрілку ↓ і знаходимо файл Privet.exe, ОК. Також
клавіша F3 відкриває вікно Module.
У вікні Module (Модуль) на екран виводиться код програми, що
налагоджується. Ви можете переміщуватися по цьому модулю й переглядати дані й
код, позиціонуя курсор на іменах змінних програми й даючи відповідні команди в
локальні меню. Для того, щоб відкрити вікно Module, можна також натиснути
клавішу F3.
Для виведення поточного стану центрального процесора слід натиснути або
ALT+V або вибрати команду View та вибрати CPU.
Вікно CPU (ЦП) показує поточний стан центрального процесора (ЦП). Це
вікно містить п'ять областей, в одній з яких показані машинні інструкції – вміст
сегменту коду вихідної програми (CS:зсув машинна інструкція вхідна команда),
нижче у вікні показані шістнадцятирічні байти даних (DS:зсув шістнадцятирічні
байти), у третій області - вміст регістрів ЦП (AX, BX, CX, DX, SI, DI, BP, SP, DS,
ES, SS, CS, IP), у четвертій області – вміст регістр прапорців ЦП (C, Z, S, O, P, A, I,
3
D), у п’ятій - вміст стека у вигляді шістнадцятирічних байтів (SS: шістнадцятирічні
байти).
У вікні View → Dump (Дамп) виводиться вміст області пам'яті. Це вікно
еквівалентно області дані вікна CPU. Ви можете виводити дані у вигляді символів,
шістнадцятирічних байт, слів, подвійних слів, або в будь-якому форматі із
плаваючою крапкою.
У вікні View → Registers (Регістри) виводиться вміст регістрів і прапорів
процесора (ЦП). Дане вікно містить дві області, які еквівалентні областям регістрів і
прапорів вікна CPU (ЦП).
У вікні Breakpoints (Точки зупинки - переривань) виводяться встановлені вами
точки зупинки. Точка зупинка визначає те місце у вашій програмі, де буде зупинено
виконання програми. При цьому ви можете перевірити стан програми. Перед
виконанням програми для встановлення точок переривань треба перейти в
потрібний рядок програми та натиснути клавішу F2. Рядок з контрольною точкою
буде підсвічуватися червоним кольором. Щоб вилучити контрольну точку, треба
знову перейти в потрібний рядок програми та натиснути клавішу F2.
У вікні Stack (Стек) виводиться поточний стан стека. При цьому внизу
зазначені найперші виклики функцій (у програмах мовою С и C++ це функція main),
а потім - всі наступні виклики в тому порядку, якому вони виконувалися.
Виконання роботи
Запускаємо налагоджувач Td Privet.exe
5
кожної команди аналізувати вміст РЕГІСТРІВ (шістнадцятирічне
представлення), тобто розуміти для себе чи вірно виконалася команда.
Покрокове виконання - F8 (step) може виконувати програму, не заходячи в
цикли, тобто це означає, що будуть виконуватися підпрограми і цикли як одна дія
(це прискорює процес відладки). А можна виконати якийсь певний блок програми
(декілька оператоів) відразу, для цього необхідно встановити курсор на тому
реченні, до якого хочемо виконати програму, далі натискаємо F4.
Регістр ІР вказує на команду, яка буде виконуватися наступною.
Коли в програмі в викоанєте рядка int21h, тобто закривається функція
виведення на екран 09h (при цьому курсор ввстановлюється на команду, яка буде
виконуватися наступною), необхідно натиснути Alt+F5 (це перехід в середовище
DOS) на екрані користувача вивелося наше повідомлення NACHINAEM!
Щоб повернутись у вікно CPU для продовження відладки наступних
операторів, необхідно натиснути знову Alt+F5 і продовжити відладку наступних
операторів (з аналізом вікна регістрів).
Для повторного виконання програми треба її рестартувати, вибираємо пункт
Run - Program reset або натиснути CTRL+F2.
Можна змінювати вміст регістрів. Для цього потрібно вікно зробити активним,
натиснути Alt+F10 (можна виконати операції інкремент, дикремент або обнулити,
або ввести своє значення).
6
У вікні Stack виводиться поточний стан стека. При цьому внизу зазначені
найперші виклики функцій, а потім наступні виклики.
7
Виконуємо програму, за допомогою Alt+F5 переходимо у середовище DOS
для перевірки результату роботи програми.