Інструкція по роботі з отладчиком td

Додаток 2. Інструкція по роботі з програмою Turbo Debugger.

Після запуску на екрані з'явиться зображення, що містить у верхній своїй частині меню, а в нижній - рядок статусу (рис.1). Решта частини екрану буде зайнята вікном CPU. Процесор, як правило, воно має світло-зелений колір. Поверх нього програма виведе вікно з інформацією про версію і розробників або повідомлення про відсутність таблиці символів (рис.1)

Інструкція по роботі з отладчиком td

ріс.1.Окно програми TD після запуску файлу TD.exe.

Натисніть [ENTER] для того, щоб воно зникло. Якщо програма запустилася (меню і статусний рядок з'явилися), але центральна частина екрану не містить вікна CPU. натисніть клавіші [Alt + ПРОБІЛ] (спочатку натисніть [Alt]. а потім, не відпускаючи її, клавішу [ПРОБІЛ]). Зліва вгорі екрана з'явиться меню, що містить 3 пункти. Натисніть [S]. Меню зникне і на екрані з'явиться вікно CPU (або натиснути [S] і клавішами [] [] вибрати меню View, далі CPU) (рис.2).

Інструкція по роботі з отладчиком td

ріс.2.Визов вікна CPU в пункті меню View.

Для виходу з TD в DOS натисніть комбінацію клавіш [Alt-X].

Для того, щоб почати працювати з меню, натисніть клавішу [F10]. Один з пунктів меню стане виділений кольором. Ви можете вибрати необхідну команду, використовуючи клавіші зі стрілками вліво / вправо (клавіші курсора), а потім натиснути [ENTER] для того, щоб виконати її. В TD все команди верхнього, головного меню викликають підменю. У підміню пункти розташовані вертикально, тобто для вибору необхідної команди потрібно використовувати клавіші курсора вгору / вниз. Вибравши команду, також натисніть [ENTER]. Для того, щоб вийти з меню, не вибравши ніякої команди, натисніть [ESC] - ви опинитеся в попередньому меню. Якщо Ви перебуваєте в верхньому меню, натискання [ESC] призведе до повернення в вікно CPU.

Вікно CPU містить текст налагоджують програму, вміст регістрів, вершини стека і областей даних, що використовуються програмою.

Вікно CPU розділене на кілька частин - в цьому випадку для пересування курсору (виділеної кольором рядки) між частинами цього вікна за допомогою клавіші [TAB] або [SHIFT + TAB].

Інструкція по роботі з отладчиком td

ріс.3.Від вікна CPU.

Вікно CPU розділене на кілька частин - в цьому випадку для пересування курсору (виділеної кольором рядки) між частинами цього вікна за допомогою клавіші [TAB] або [SHIFT + TAB].

Інформаційні вікна, на відміну від робітників, просто містять деякі повідомлення, наприклад, повідомлення про помилки і так далі. Для того, щоб прибрати (закрити) інформаційне вікно, використовуються клавіші [ENTER] та [ESC] (натискання на будь-яку з них призведе до зникнення вікна з екрану). Для закриття робочих вікон використовується комбінація клавіш [Alt-F3].

Крім того, працюючи з TD. ви можете натисканням клавіш [Alt-F5] подивитися, що знаходиться "за" його екраном, тобто побачити екран MSDOS. При натисканні цієї комбінації екран TD зникає і стають видимими повідомлення, що виводяться DOS. прикладними програмами і налагоджувати Вами модулем. Натискання на будь-яку клавішу поверне Вас в TD.

П.3.Загрузка програми для налагодження.

Увійдіть в меню FILE і виберіть в ньому пункт OPEN (натисніть [F10]; за допомогою клавіш курсору вліво / вправо виберіть пункт File; натисніть [ENTER] - на екрані з'явиться підменю, що містить команди; виберіть в ньому пункт OPEN. І натисніть [ENTER ]). На екрані з'явиться вікно завантаження файлу, що містить у верхній частині рядок для введення імені файлу. Наберіть в ній ім'я Вашого файлу, наприклад: C: \ WORK \ ASM \ PROGRAM.EXE, і натисніть [ENTER].

Інструкція по роботі з отладчиком td

ріс.4.Окно завантаження файлу.

Якщо ви невірно ввели ім'я файлу і TD не зміг знайти його на диску, у верхній лівій частині екрана з'явиться вікно з попередженням "Program not found" - програма не знайдена. Натисніть [ENTER], щоб прибрати його і повторіть все з самого початку. Якщо завантаження пройшла успішно, ви повернетеся до вікна CPU. Перед цим в лівому верхньому кутку екрану може з'явитися вікно з повідомленням "Program has no symbol table" - його можна ігнорувати; натисніть [ENTER], щоб воно зникло. Після завантаження в лівій верхній частині вікна CPU буде міститися асемблерний текст програми, перша команда якої буде виділена кольором.

У правій верхній частині міститься вміст регістрів МП; окремо виділено вміст регістра прапорів. У правій нижній частині розташовано вікно поточного вмісту стека, починаючи з його вершини. І, нарешті, зліва внизу ви побачите уміст деякої області ОЗУ (dump), зазвичай після завантаження програми в TD - вміст PSP.

Для переміщення курсору між частинами вікна CPU слід використовувати клавішу [TAB] (за годинниковою стрілкою) або комбінацію [Shift-TAB] (проти годинникової стрілки).

Інструкція по роботі з отладчиком td

рис.5. Вид вікна CPU.

П.5.Запуск програми на виконання.

Після завантаження програми її можна починати налагоджувати. Найпростішою операцією налагодження є запуск програми на виконання. Це здійснюється натисканням клавіші [F9].

Після виконання програми на екрані з'явиться вікно з повідомленням "Terminated. Error code N.", де N - код помилки ДОС, з яким завершилася Ваша програма. Натисніть [ENTER], щоб прибрати його.

Не забудьте, що запуск програми на виконання - небезпечна операція: якщо ваша програма містить помилки, то, швидше за все, це призведе до "зависання" машини. Тому, перш ніж запускати програму, не полінуйтеся виконати її трасування.

Інструкція по роботі з отладчиком td
рис.6. Вид вікна CPU після запуск програми на виконання.

Трасуванням називають процес покрокового виконання програми. У TurboDebugger це здійснюється за допомогою клавіш [F7] і [F8]. При натисканні будь-якої з них відбувається виконання поточної (поміченої символом трикутника в вікні CPU) ассемблерной команди, після чого відображається нове вміст регістрів, областей даних, вершини стека і TD повертається до очікування натискання клавіші. А ресурси, які беруть участь у виконанні команди, виділяються кольором.

Інструкція по роботі з отладчиком td

рис.7. Вид вікна CPU при покроковому виконанні програми.

Відмінність [F7] від [F8] полягає в тому, що при використанні [F8] команда CALL виконується як один крок (власне асемблерна підпрограма, що викликається по цій команді, чи не трасується), а виконання CALL по клавіші [F7] призводить до трасуванні самої підпрограми.

Завершити трасування, не доходячи до кінця програми, можна натисканням комбінації клавіш [Ctrl-F2].

П.7.Ісполненіе частини програми.

Якщо Ви хочете почати трасування програми, наприклад, з її середини, то зовсім не обов'язково виконувати її по кроках, послідовними натисканнями [F7] або [F8], до цього місця. Досить просто встановити курсор на той рядок, з якої необхідно почати трасування, і натиснути [F4]. Програма запуститься на виконання і виконається до тієї команди, на якій був встановлений курсор. Далі можна виконувати звичайну трасування. Клавіша [F4] може бути корисна також у багатьох інших ситуаціях. Наприклад, коли Вам в процесі трасування необхідно запустити деякий блок програми, що не трассіруя його, встановіть курсор на останню інструкцію цього блоку і натисніть [F4]. Програма буде виконуватися від останньої виконаної команди до команди, на яку встановлений курсор, а потім TD знову повернеться в режим трасування.

П.8.Редактірованіе вмісту регістрів.

В процесі трасування Ви можете не тільки переглядати, але і змінювати вміст регістрів мікропроцесора. Внесені Вами зміни будуть дійсні тільки протягом одного прогону програми. Для того, щоб ввести значення в певний регістр, виконайте наступні кроки:

Інструкція по роботі з отладчиком td

рис.8. Курсор вказує на регістр AX, виділений для зміни його вмісту.

Перебуваючи в лівій верхній частині, вікна CPU натисніть клавішу [TAB] Курсор переміститься вправо, в ту частину вікна, де ви побачите уміст регістрів.

Використовуючи клавіші курсора вгору / вниз, виберіть той регістр, вміст якого ви хочете змінити.

Натисніть [Ctrl + C] або [ПРОБІЛ]. На екрані з'явиться вікно введення значення в регістр.

Інструкція по роботі з отладчиком td

рис.9. Вікно введення значення в регістр.

У верхньому рядку вікна, що з'явилося введіть нове значення. Не забувайте про правила запису числових констант в Асемблері: h-число повинні закінчуватися символом "h" та, якщо вони починаються з літери (A, B.), В першому розряді числа повинен стояти 0. Після введення числа натисніть [ENTER].

Якщо ви змінюєте вміст регістрів вже не в перший раз, то в другій, третій і наступних рядках вікна введення знаходитимуться попередні введені Вами значення. Замість того, щоб вводити старе значення заново, можна, використовуючи клавіші курсора, вибрати одне з них і натиснути [ENTER]. Регістру присвоїти нове значення - це буде відображено на екрані. Якщо Ви введете число неправильно, то з'явиться вікно "Symbol not found", яке повідомить Вам про допущену помилку. Натисніть [ENTER], щоб воно зникло і повторіть все, починаючи з пункту 2.

Після введення всіх необхідних значень в регістри натисніть [Shift + TAB] для повернення назад до тексту програми.

Інструкція по роботі з отладчиком td

рис.10. Переміщення курсора в подокно даних.

Де: XX - шістнадцяткове значення осередки пам'яті;

A - ASCII -представлення вмісту відповідної комірки.

Інструкція по роботі з отладчиком td

2.) Натисніть [Ctrl + C]. У вікні "Enter new data bytes" введіть один або кілька байт, розділених пробілами, наприклад:

і натисніть [ENTER].

3.) Якщо введення був проведений правильно, вікно зникне, і нові значення будуть побайтно записані в комірки ОЗУ, починаючи з того байта, на який було встановлено курсор. Якщо Ви помилилися, з'явитися вікно з повідомленням "Syntax error" - синтаксична помилка. Швидше за все ви невірно записали одне з чисел, Вам доведеться повторити все з початку.

Крім перерахованих вище функцій TD надає можливість елементарного редагування програм в процесі налагодження і записи отриманого коду в пам'ять на один прогін програми або до повторної її завантаження в TD.

Для того, щоб ввести в пам'ять TD потрібну команду процесора, виконайте наступні дії:

1.) Перебуваючи в подокне відображення програми, натисніть [Ctrl + A]. На екрані з'явиться вікно "Enter instruction to assemble".

Інструкція по роботі з отладчиком td

ріс.11.Окно для введення ассемблерной інструкції.

2.) Введіть в першому рядку цього вікна асемблерну інструкцію. Наприклад, MOV AX, 0123h і натисніть [ENTER]. (Рис.)

Інструкція по роботі з отладчиком td

ріс.12.Переход на зазначену асемблерну інструкцію.

Якщо при введенні інструкції була допущена помилка, TD не зможе перевести її в відповідний код команди. У цьому випадку буде видано вікно з повідомленням про помилку, наприклад, "Invalid instruction mnemonic" - невірна інструкція. Спробуйте ще раз.

Не забувайте, що при зміні таким чином існуючих в програмі команд, нова команда може виявитися довшим старої. В результаті подальша команда (або кілька команд) будуть зіпсовані. Тому при розробці програм, що підлягають налагодженню, не забувайте вставляти в програму кілька інструкцій NOP. щоб згодом знову введені команди займали саме їх місце в пам'яті.

В Turbo Debugger є цікава функція, яка дозволяє дізнатися інформацію не тільки про програму та її статус, а й інформацію про систему.

Щоб активізувати цю функцію, необхідно зайти в меню File, далі Get info.

Інструкція по роботі з отладчиком td

Інструкція по роботі з отладчиком td

ріс.13.Вивод на екран інформації про систему.

Інструкція по роботі з отладчиком td

рис.15. Висновок на екран додаткової інформації натисканням клавіші [F1].

Схожі статті