Интерфейс отладчика

Среда Turbo Debugger включает в себя набор меню, диалоговых окон и специальных окон отладчика.

Работа с меню

Команды глобальных меню Turbo Debugger выводятся в верхней части экрана в строке меню. Если вы не находитесь в диалоговом окне, то эти команды всегда доступны. Чтобы открыть меню Turbo Debugger, нажмите F10, с помощью стрелой переместитесь в нужному пункту и нажмите Enter. После F10 для перехода к нужному пункту можно также нажать его подсвеченную букву, либо сразу нажмите Alt+буква (без F10). Системное меню выбирается по Alt+пробел. Меню открывается также щелчком "мышью" на соответствующем пункте.

Окна Turbo Debugger

Для вывода информации об отлаживаемой программе в Turbo Debugger используется набор окон. Для облегчения отладки служат команды управления окнами, которые находятся в меню Window и System. Каждое открываемое окно имеет номер, указанный в его правом верхнем углу. Нажатием клавиши Alt в сочетании с номером окна вы можете активизировать любое из первых 9 окон. Список открытых окон содержится в нижней половине меню Window. Чтобы открыть конкретное окно, нажмите в меню Window цифру номера окна. Если окон больше 9, в этом меню выводится команда Window Pick, выводящая меню окон.

Клавиша F6 (или команда Window Next) позволяет циклически перемещаться по открытым на экране окнам. Окно может иметь несколько областей. Для перемещения между областями используйте клавиши Tab или Shift+Tab, либо Window Next. Курсор в областях перемещается с помощью стандартных клавиш перемещения курсора.

При открытии нового окна оно выводится в месте текущего расположения курсора. Переместить его в другое место можно с помощью команды Window Size/Move и клавиш стрелок, либо сразу нажмите Shift и сдвигайте окно стрелками. Для быстрого увеличения или уменьшения окна выберите Window Zoom (F5) или щелкните "мышью" на кнопке минимизации/максимизации в верхнем правом углу окна.

Если вы по ошибке закрыли окно, вернуться в последнее окно можно с помощью команды Window Undo Close (Alt+F6). Когда программа затирает своим выводом экран операционной среды (при выключенном переключении экрана), вы можете очистить его с помощью System Repaint Desktop. Для возврата к используемой по умолчанию схемы окон Turbo Debugger выберите System Restore Standard.

Каждое окно Turbo Debugger имеет специальное оперативное меню SpeedMenu, содержащее команды, относящиеся к данному окну. Области окон также могут иметь свои меню. Для доступа к SpeedMenu активного окна или области вы можете нажать в окне правую кнопку "мыши", либо нажать клавиши Alt+F10, либо нажать Ctrl и подсвеченную букву команды SpeedMenu (для этого должно быть разрешено действие команд-сокращений).

Окна меню View

Меню View является точкой входа в большинство окон Turbo Debugger. Перечислим их кратко. С помощью команды View Another вы можете дублировать на экране окна Dump, File и Module.

Окно Breakpoints

Используется для установки, модификации или удаления точек останова. Точка останова определяет то место в программе, где отладчик приостанавливает выполнение программы. Это окно имеет две области. Справа перечислены условия и действия точек останова, слева - все точки останова.

Окно Stack

Показывает текущее состояние программного стека. Первая вызванная функция показывается в нижней части окна, а выше ее - каждая последующая. Подсвечивая эти функции и нажимая Ctrl+I вы можете проверять исходный код. Кроме того, можно открыть окно Variables и вывести все локальные переменные и аргументы функции (Ctrl+L).

Окно Log

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

Окно Watches

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

Окно Variables

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

Окно Module

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

Окно File

Выводит содержимое любого файла на диске. В нем можно просматривать шестнадцатиричные байты или текст ASCII и искать нужные байтовые последовательности.

Окно CPU

Выводит текущее состояние процессора. Окно имеет 6 областей, где выводятся дизассемблированные инструкции, селекторы Windows (только в TDW), шестнадцатиричные данные, стек в шестнадцатиричном виде, регистры ЦП и флаги процессора. Это окно полезно использовать при отладке программ на ассемблере или просмотре точно последовательности инструкций.

Окно Dump

Выводит в шестнадцатиричном виде содержимое любой области памяти (аналогично области окна CPU). Команды SpeeMenu этого окна позволяют вам модифицировать данные и работать с блоками памяти.

Окно Registers

Показывает содержимое регистров (в области регистров) и флагов ЦП (в области флагов). С помощью команд SpeedMenu вы можете изменить их значения.

Окно Numeric Processor

Показывает текущее состояние сопроцессора и имеет три области: содержимого регистров с плавающей точкой, значений флагов состояния и значений управляющего флага. Это позволяет вам диагностировать проблемы в использующих сопроцессор подпрограммах. См. файл TD_ASM.TXT.

Окно Execution History

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

Окно Hierarchy

Выводит на экран дерево иерархии всех используемых текущим модулем классов. Имеет область списка классов и дерева иерархии. Это окно показывает взаимосвязь используемых в модуле классов.

Окно Windows Messages

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

Окно Clipboard

Буфер Clipboard отладчика используется для для вырезания и вставки элементов из одного окна отладчика в другое. Оно показывает вырезанные элементы и их типы. Скопированные в буфер элементы динамически обновляются.

Окна Inspector

Выводят текущее содержимое выбранной переменной. Его можно открыть с помощью команды Data Inspect или Inspect меню SpeedMenu. Закрывается оно обычно по Esc или щелчком "мышью" на блоке закрытия. При последовательном открытии нескольких окон Inspector нажатием Alt+F3 или командой Window Close вы можете закрыть сразу все эти окна. Окна Inspector выводят простые скалярные величины, указатели, массивы, объединения, структуры, классы и объекты. Выбором команды Inspect в этом окне вы можете создать дополнительные окна Inspector.

Экран пользователя

Экран пользователя показывает полный экран вывода вашей программы. Этот экран имеет такой же вид, как при выполнении программы без Turbo Debugger. Чтобы переключиться в этот экран, выберите команду Window User Screen. Для возврата в экран отладчика нажмите любую клавишу.

Специальные средства Turbo Debugger

Автоматическое дополнение имени

Когда в поле ввода выводится подсказка для ввода имени идентификатора, вы можете набрать часть имени, а затем нажать Ctrl+N. Turbo Debugger заполнит остальную часть имени автоматически. При этом набранная часть должна уникальным образом идентифицировать имя. Если с набранных символов не начинается ни одно из имен, то ничего не происходит. При наличии нескольких идентификаторов, соответствующих набранным вам символам, выводится список имен, из которого вы можете выбрать нужное.

Выбор по набору

Некоторые окна позволяют вам начать набор нового значения, не выбирая сначала команду SpeedMenu. Выбор по набору обычно применяется к наиболее часто используемым командам SpeedMenu.

Инкрементальное сопоставление

Это средство помогает вам находить записи в алфавитных списках. При наборе каждого символа полоса подсветки перемещается к первому элементу, начинающемуся с выбранных вами букв. Позиция курсора указывает, какую часть имени вы уже набрали. После подсветки вы можете нажать Alt+F10 или щелкнуть правой кнопкой "мыши". При этом выводится SpeedMenu, где вы можете выбрать команду, соответствующую подсвеченному элементу.

Клавиатурные макрокоманды

Макрокоманды представляют собой просто определяемые вами оперативные клавиши. Одной клавише вы можете назначить любую последовательность команд и нажатий клавиш.

Расположенная в меню Options команда Macros выводит всплывающее меню с командами для определения клавиатурных макрокоманд и удаления ненужных: Create (Alt+=), Stop Recording (Alt+-), Remove и Delete All. Команда Create начинает запись макрокоманды, а команда Stop Recording завершает ее (не используйте для завершения записи команду Options Macro Stop Recording, так как она добавится к вашей макрокоманде). Delete All удаляет все текущие макрокоманды.

Работа с буфером Clipboard

Чтобы скопировать элемент в буфер Clipboard, позиционируйте на элементе курсор, нажмите клавишу Ins для его подсветки, затем нажмите клавиши Shift+F3. Чтобы вставить содержимое буфера в окно или диалоговое окно, нажмите Shift+F4. Выводится диалоговое окно Pick, содержащее список всех элементов буфера Clipboard и набор кнопок с зависимой фиксацией, позволяющих вам выполнять различным образом вставку элементов: String, Location и Contents. Это позволяет вам интерпретировать элемент, как вставляемый одним из трех способов: как строку, как адрес, или как содержимое по адресу. Категории, которые вы можете использовать для вставки элемента, зависят от его типа и назначения.

Для вставки элемента в диалоговое окно, подсветите элемент, выделите соответствующую категорию, затем нажмите клавишу Enter или активизируйте кнопку OK (для редактирования записи) или Paste (если вы хотите отредактировать запись).

Выбор команды View Clipboard выводит на экран окно Clipboard, в котором перечисляются все вырезанные элементы. [*] Clipboard Module : @#TCDEMO#36 nlines ^ Inspector : nlines 0 (0x0) Module : @#TCDEMO#38 totalcharacters Inspector : totalcharacters 0 (0x0) v < >

В левом поле этого окна описывается тип записи, за которым следует двоеточие и вырезанный элемент. Если вырезанный элемент представляет собой выражение из окна Watch, переменную из окна Inspector или данные, регистр или флаг из окна CPU то за элемен- том следует его значение или значения.

Тип Описание
Address Адрес без соответствующих данных или кода.
Control flag Значение управляющего флага сопроцессора.
Coprocessor Регистр арифметического сопроцессора 80х87.
CPU code Адрес и список байт выполняемых инструкций из области кода окна CPU.
CPU data Адрес и список байт данных в памяти из области данных в окне CPU или в окне Dump.
CPU flag Значение флага ЦП из области флагов окна CPU.
CPU register Имя регистра и значение из области регистров окна CPU или окна Register.
CPU stack Исходная позиция и кадр стека из области стека окна CPU.
Expression Выражение из окна Watches.
File Позиция в файле (в окне File), которая не является модулем в программе.
Inspector Одно из следующих:
  • имя переменной из окна Inspector;
  • значение константы из окна Inspector или Watch;
  • регистровая переменная окна Inspector.;
  • битовое поле окна Inspector.
Module Содержимое модуля, включая позицию в исходном коде, аналогично переменной из окна Module.
Status flag Значение флага состояния сопроцессора 80х87.
String Текстовая строка, например, отмеченный блок из окна File.

При вставке элементов из буфера Clipboard их тип должен со- ответствовать типу поля ввода. SpeedMenu окна Clipboard содержит следующие команды:

Команда Описание
Inspect Позиционирует курсор в то окно, из которого был извлечен элемент.
Remove Удаляет подсвеченный элемент или элементы. Тот же эффект для подсвеченного элемента имеет клавиша Del.
Delete all Удаляет все в буфере Clipboard.
Freeze Приостанавливает динамическое обновление элемента Clipboard.

Текстовое окно Get Info

Вы можете выбрать команду File Get Info для анализа использования памяти и определения того, почему получил управление отладчик. Эта и другая информация отображается в текстовом блоке, который удаляется с экрана при нажатии клавиши Enter, пробела или Esc. В этом окне отображается следующая информация, в зависимости от того, отлаживаетесь ли вы в DOS, или в Windows.

Если вы отлаживаете программу для DOS, то в блоке System Information будет выведена следующая информация:

TDW дает вам следующую информацию о глобальной памяти:

Mode (режим) Режимами памяти могут быть: Large-frame EMS (EMS-память с большим размером страничного блока), Small-frame EMS (EMS-память с малым размером страничного блока), или non-EMS (дополнительная память).
Banked (банкируемая) Объем памяти в килобайтах выше линии банка EMS (которая может быть откачана в расширенную память, если ее использует система).
Not Banked (не банкируемая) Объем памяти в килобайтах ниже линии банка EMS (которая не может быть откачана в расширенную память).
Largest (наибольший) Наибольший непрерывный блок памяти в килобайтах.
Symbols (идентификаторы) Объем оперативной памяти, используемый для загрузки таблицы идентификаторов программы.

Кроме перечисленной выше информации окно Windows System Information для Windows NT содержит также следующую информацию: Memory Load Factor (процент используемой оперативной памяти), Physical (доступный и общий объем системной памяти), Page file (размер текущего страничного файла и максимальный размер) и Virtual (общая и доступная виртуальная память).

Команда Attach

Эта команда позволяет подключить TD32 к процессу, работающему под Windows NT. Ее полезно использовать, когда вы знаете, где в программе возникают ошибки, но вам трудно воспроизвести ситуацию в отладчике. Команда открывает диалоговое окно Attach to and Debug a Running Process.Для подключения к выполняемому процессу сделайте следующее:

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

Команда OS Shell

Эта команда отладчика TD32 работает в операционной системе Windows NT. По этой команде Turbo Debugger открывает командную подсказку. Для возврата в отладчик наберите Exit.

Получение справочной информации

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

Индикатор активности в левом правом углу экрана всегда показывает текущее состояние. Например, если курсор находится в окне, в индикаторе активности выводится READY. Если выводится меню, в нем указывается MENU, а если вы находитесь в диалоговом окне PROMPT. Если вы, запутаетесь и не можете понять, что происходит в отладчике, взгляните на индикатор активности.

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

Оперативная помощь

В отладчик встроен контекстно-зависимый оперативный справочник. Он доступен как при работе в системе меню, так и при выводе сообщения об ошибке или подсказки. Для вывода справочного экрана с информацией, относящийся к текущему контексту (окну или меню) нажмите клавишу F1. При наличие "мыши" вы можете вывести справочный экран, выбрав F1 в строке состояния. Некоторые справочные экраны содержат подсвеченные слова, которые позволяют вам получить дополнительную информацию по данной теме. Для перемещения к нужным ключевым словам используйте клавиши Tab или Shift+Tab и нажмите клавишу Enter. Для перемещения к первому или последнему слову на экране используйте клавиши Home и End. Доступ к оперативным справочным средствам можно получить также с помощью команды Help из строки меню (оперативные клавиши Alt+H).

Если вы хотите вернуться к предыдущему справочному экрану, нажмите клавиши Alt+F1 или выберите команду Previous из меню Help. В справочной системе для просмотра последних 20 экранов можно пользоваться клавишей PgUp (клавиша PgDn работает, когда вы находитесь в группе связанных экранов). Для доступа к индексному указателю справочной системы нажмите Shift+F1 (или F1 в справочной системе) или выберите команду Index в меню Help. Для получения информации о самой справочной системе выберите в меню Help команду Help Help. Для выхода из справочной системы нажмите клавишу Esc.

При работе в отладчике в нижней части экрана выводится краткая справочная строка. В этой строке состояния кратко описаны клавиши или команды меню для текущего контекста.

Дерево меню

Ниже показана полная структуру спускающихся меню отладчика TD. = File Edit View Run Breakpoints Data Options Window Help Run Run F9 Go to cursor F4 Trace Into F7 Step Over F8 = (System) Execute to... Alt+F9 Until Return Alt+F8 Repaint Desktop Animate... Restore Standard Back Trace Alt+F4 Instruction Trace Alt+F7 About... Arguments... Program reset Ctrl+F2 Next pending status Wait for child Yes File Open... Attach Change Dir... Get Info... Breakpoints OS Shell Toggle F2 At... Alt+F2 Changed memory global... Expression true global... Quit Alt-X Handware Breakpoint... Delete all View Data Breakpoints Stack Inspect... Log Evaluate/modify... Ctrl+F4 Watches Add watch... Ctrl+F7 Variables Function return Module... F3 File... CPU Dump Registers Module... Numeric Processor Dump Execution History File... Hierarchy Threads Windows messages Clipboard Another > Options Window Language... Source Macros > Zoom F5 Display options... Next F6 Path for source... Next pane Tab Set Restart Options... Size/move Ctrl+F5 Save options... Iconsize/restore Restore options... Close Alt+F3 Undo close Alt+F6 User screen Atl+F5 1 First open window Create... Alt = (2-9 open windows) Stop recording Alt - Window pick... Remove Delete all Help Edit Index Shift+F1 Previous topic Alt+F1 Copy Shift+F3 Help on help Paste Shift+F4 Copy to Log Dump pane to log

Назад | Содержание | Вперед

Copyright © CIT