Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TD.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
186.88 Кб
Скачать

6.8 Окно процессора

В окне процессора (CPU Window) высвечиваются данные о текущем сос­тоянии процессора. Окно процессора состоит из 5 рамок, в которых нахо­дятся: код ассемблера команд программы, данные выбранной области памяти в символьном и шестнадцатеричном виде, содержимое регистров процессора, содержимое стека процессора, а также биты регистра флажков. В верхней строке окна указан тип процессора. Знак, имеющий вид стилизованной стрелки, направленной вправо, выделяет команду, которая будет выполнена следующей. В верхней строке рамки, содержащей команды, указываются адрес памяти и значения величины, находящейся по этому адресу.

6.9 Окно памяти

В окне оперативной памяти (Dump Window) высвечиваются данные, соде­ржащиеся в выбранной области оперативной памяти. Эти данные могут быть представлены в шестнадцатеричном виде, в виде символов, слов и двух слов, а также как числа в различных представлениях. Использование локального меню позволяет модифицировать данные и перемещать блоки памяти.

6.10 Окно регистров

В окне регистров (Registers Window) высвечивается содержимое регистров процессора. Использование локального меню позволяет модифицировать содержимое регистров.

6.11 Окно сопроцессора

В окне сопроцессора (Numeric Processor Window) высвечивается содержимое регистров сопроцессора. Окно сопроцессора состоит из трех рамок, в которых находятся: содержимое регистров сопроцессора, содержимое регистра флажков сопроцессора и управляющие данные.

6.12 Выходное окно

В выходном окне (User Screen Window) высвечивается выходной экран программы. Он точно такой же, как будто активизация программы произо­шла в системе DOS. В целях ускоренного высвечивания этого окна можно воспользоваться клавишей AU-F5. После знакомства с экраном выхода можно высветить экран отладчика, нажав произвольную клавишу клавиатуры.

7 Инспекционные окна

Инспекционные окна служат для высвечивания информации о переменных и выражениях. Они вызываются на экран нажатием клавиши Ctrl-1. Эту

клавишу необходимо нажимать, когда курсор выделяет идентификатор пере­менной или когда после нажатия клавиши Ins и клавиши стрелок выделен определенный блок знаков, образующих выражение. Инспекционное окно не делится на рамки, но состоит из полей, содержащих, кроме прочего, имя переменной, ее тип, адрес, значение переменной и т. д. Если переменная является структурной, то в окне высвечиваются ее компоненты, если указательной - то высвечивается информация об указываемой переменной. Подобный способ высвечивания информации относится и к выражениям.

Перемещение между полями инспекционного окна происходит с помощью клавиши вертикальных стрелок. Если после выбора определенного поля будет снова нажата клавиша Ctrl-1, то появится инспекционное окно, касающееся выбранного компонента переменной. Очередное нажатие этой клавиши позволяет выполнить проверку компонентов более низкого уровня.

Ниже приведены примеры инспекционных окон для программ на языках Турбо Си и Турбо Паскаль.

Турбо Си

Typedef

Struct {unsigned Age;

CharName [5];

} Person, * RefPerson;

float Number = 12.4;

Int Fixed = 13;

Unsigned char Arr[2] [2] = {{1. 2}, {3. 4}};

Person Rec = {5, "Isa"};

char *Str = "Isabel";

Person People [ 'c' - 'a' + 1] =

{ {40, "Eva"],

{ 6, "Isa"},

{46. "Jan"}};

Person *Ptr;

RefPerson *RefPtr;

Int *Ref

Main ( )

{ Ptr= &Rec;

RefPtr = &Ptr;

Ref & &F1xed;

/*...*/ }

Турбо Паскаль

type

Person = record

Age: word,

Nаmе: String [5]

end;

RefPerson = Person;

const

Nunber: real = 12.4;

Fixed: Integer = 13;

Агг : array [1 .. 2, boolean] of byte =

( (1,2), (3,4));

Rec: Person = (Age: 5; Name: 'Isa');

Str: string = 'Isabel';

People: array ['a' ... c'] of Person =

((Age: 40; Name: 'Eva'),

(Age: 6; Name: 'Isa'),

(Age: 46; Name: 'Jan'));

var

Ptr: ^Person;

RefPtr: ^RefPerson;

Ref: ^Integer;

begin

Ptr: = @ Rec;

RefPtr: = @ Ptr;

Ref: = @ Fixed;

{ ... }

end.

Для того чтобы убрать с экрана последнее созданное инспекционное окно, необходимо нажать клавишу ESC. Нажатие клавиши F3 вызывает закрытие всех таких окон.

Как и другие окна, инспекционное окно имеет свое локальное меню.

Оно состоит из следующих полей:

Range

Change

Inspect

Descend

New expression...

Поле Range

Выбор поля Range позволяет определить размер высвеченных компонентов структурной переменной. Этот размер состоит из указания первого компонента и числа компонентов. Это особенно удобно в случае таблиц.

Поле Change

Выбор поля Change позволяет изменить значение переменной.

Поле Inspect

Выбор поля Inspect имеет такой же результат, как нажатие клавиши Ctrl-I, кроме того, вызывает открытие очередного инспекционного окна. Это позволяет углубиться в структуру массивов и записей, просматривать цепочку указаний и выявить развитие команд ассемблера.

Поле Descend

Выбор поля Descend имеет такой же результат, как выбор поля Inspect, вновь созданное инспекционное окно занимает место текущего инспекционного окна. Это препятствует ненужному увеличению инспекционных окон, но не позволяет проследить назад цепь указаний или вернуться на высший уровень иерархии компонентов.

Поле New expression

Выбор поля New expression позволяет задать новое значение указанному выражению. Информация о выражении помещается в текущем инспекционном окне.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]