Turbo Debugger 5.0: Руководство по применению, при выполнении лабораторных работ, страница 6

Опция Moduleоткрывает окно, которое отображает на экране модуль исходного файла вызванной программы.  Для отображения на экране вам дается возможность выбрать модуль из списка модулей программы. Если на экране уже открыто модульное окно, модуль который вы выбрали, отображается в этом окне. Если вы хотите открыть другое модульное окно, используйте директиву в опции главного меню View/Another. Горячей клавишей этой директивы является управляющая клавиша F3.

В титульной строке модульного окна индицируется имя модуля, который отображается в данный момент, текущий исходный файл модуля и номер строки на который установлена маркерная полоса.

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

VIEW /File

Директива File открывает окно, в котором отображается список файлов, который вы можете специфицировать. Вам дается подсказка по выбору имени файла – вы входите в шаблонную спецификацию имен файлов и выбираете файл из перечня отображаемых. Если требуемый файл уже находится в открытом файловом окне, он выбирается и отображается. Для открытия другого файлового окна  используйте опции View/Another главного меню.

VIEW /CPU

При инициировании опции CPU(CentralProcessorUnit – центральный процессор) открывается окно, отображающее панель дизассемблированных инструкций, панель дампа данных, представленных в шестнадцатеричной системе счисления, панель состояния всех программно доступных регистров центрального процессора, в том числе и регистра флагов, а также отдельно содержимое стековой области памяти. Окно CPU очень удобно  использовать для ввода и отладки программы, пользуясь встроенным в отладчик компилятором Assembler’а. Благодаря нему вы можете корректировать и вводить новые команды в отлаживаемую программу непосредственно на языке Assembler’а.

Таким образом, в окне CPU отображается следующие пять панелей:

- Codepane (кодовая панель, панель программ);

- Data pane (панель данных);

- Stack pane (панель стека);

- Registerpane (панель регистров процессора);

- Flagpane (панель регистра флагов).

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

Локальные меню в любой панели вызываются либо нажатием правой клавиши мыши после активирования выбранной панели, либо нажатием «горячей клавиши» Alt-F10 (одновременным нажатием клавиш Alt и F10). Устранение перечня опций локальных директив осуществляется нажатием левой клавиши после вывода курсора мыши с области таблицы опций, либо нажатием клавиши Esc.

Инициирование локальных опций (или директив) в какой либо панели осуществляется путем установки курсора мыши на соответствующую опцию и нажатия левой клавиши. То же действие можно осуществить путем высвечивания соответствующей опции, управляя перемещением высвечивания клавишами-стрелками клавиатуры с последующим нажатием клавиши Enter. Можно также

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

Если окно CPU уже отображено на экране дисплея, вы работаете в этом окне. Если вы перед этим находились в окне Module,то при переходе в окно CPU будут отображены «куски» программы и данных, с которыми вы имели дело перед активизацией директивы View/CPU. При этом, при переходе вы окажитесь в панели программ (кодовой панели). Если перед этим вы контролировали данные, вы окажитесь в панели данных. Если вы просматривали стек вызывающей программы в окне Стека, вы окажитесь в стековой панели с отображением стекового кадра для выделенной функции в стековом окне, определяемого содержимым регистра BPCPU.

Если все команды вашей программы, просматриваемой в окне CPU, полностью соответствуют командам исходной программы, отображаемой в окне Module, то они будут перед ассемблерным представлением команд иметь метку в виде сплошного ромбика (♦). Если же в окне CPU вы через буфер обмена (воспользовавшись директивами записи в буферную память Copy и Paste) измените команды программы, отображаемые в окне CPU, то все команды не совпадающие с командами исходного модуля, не будут отмечены меткой (♦) и могут затем изменяться набором с помощью клавиатуры.

Команды же отмеченные меткой (♦) изменить с помощью клавиатуры нельзя.

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

Поэтому рассмотрим более подробно принципы управления этим окном, а также назначение локальных опций и директив в каждой панели окна CPU в отдельности.

VIEW /CPU/ Codepane (кодовая панель, панель программ).

Локальное меню панели программ включает в себя 11 локальных опций (директив).

- Go to                        - Previous                 - New cs:ip    

- Origin                      - Search                     - Assemble…

- Follow                      - View source            - I/O

- Caller                       - Mixed

Go to

Опция Gotoпозволяет отобразить в кодовой панели фрагмент отлаживаемой программы пользователя по задаваемому адресу. При этом строка, соответствующая этому заданному адресу, будет первой строкой фрагмента программы отображаемой в кодовой панели.