Среда Turbo Debugger включает в себя набор меню, диалоговых окон и специальных окон отладчика.
Команды глобальных меню Turbo Debugger выводятся в верхней части экрана в строке меню. Если вы не находитесь в диалоговом окне, то эти команды всегда доступны. Чтобы открыть меню Turbo Debugger, нажмите F10, с помощью стрелой переместитесь в нужному пункту и нажмите Enter. После F10 для перехода к нужному пункту можно также нажать его подсвеченную букву, либо сразу нажмите Alt+буква (без F10). Системное меню выбирается по Alt+пробел. Меню открывается также щелчком "мышью" на соответствующем пункте.
Для вывода информации об отлаживаемой программе в 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 является точкой входа в большинство окон Turbo Debugger. Перечислим их кратко. С помощью команды View Another вы можете дублировать на экране окна Dump, File и Module.
Используется для установки, модификации или удаления точек останова. Точка останова определяет то место в программе, где отладчик приостанавливает выполнение программы. Это окно имеет две области. Справа перечислены условия и действия точек останова, слева - все точки останова.
Показывает текущее состояние программного стека. Первая вызванная функция показывается в нижней части окна, а выше ее - каждая последующая. Подсвечивая эти функции и нажимая Ctrl+I вы можете проверять исходный код. Кроме того, можно открыть окно Variables и вывести все локальные переменные и аргументы функции (Ctrl+L).
Выводит содержимое журнала сообщений с прокручиваемым списком сообщений и информацией, сгенерированной при работе с отладчиком. Это окно можно также использовать для получения информации об использовании памяти, модулях и оконных сообщения приложения Windows.
Показывает значения переменных и выражений. Введя в это окно выражения, вы можете отслеживать их значения при выполнении программы. Окно добавляется с помощью клавиш Ctrl+W при установке курсора на переменной в окне Module.
Выводит все переменные в данном контексте программы. В верхней области окна перечисляются глобальные переменные, а в нижней - локальные. Это полезно использовать для поиска функции или идентификатора, имени которых вы точно не помните.
Одно из важнейших окон Turbo Debugger, показывающее исходный код отлаживаемого программного модуля (включая DLL). Модуль должен компилироваться с отладочной информацией.
Выводит содержимое любого файла на диске. В нем можно просматривать шестнадцатиричные байты или текст ASCII и искать нужные байтовые последовательности.
Выводит текущее состояние процессора. Окно имеет 6 областей, где выводятся дизассемблированные инструкции, селекторы Windows (только в TDW), шестнадцатиричные данные, стек в шестнадцатиричном виде, регистры ЦП и флаги процессора. Это окно полезно использовать при отладке программ на ассемблере или просмотре точно последовательности инструкций.
Выводит в шестнадцатиричном виде содержимое любой области памяти (аналогично области окна CPU). Команды SpeeMenu этого окна позволяют вам модифицировать данные и работать с блоками памяти.
Показывает содержимое регистров (в области регистров) и флагов ЦП (в области флагов). С помощью команд SpeedMenu вы можете изменить их значения.
Показывает текущее состояние сопроцессора и имеет три области: содержимого регистров с плавающей точкой, значений флагов состояния и значений управляющего флага. Это позволяет вам диагностировать проблемы в использующих сопроцессор подпрограммах. См. файл TD_ASM.TXT.
Выводит последние выполненные машинные инструкции или исходные строки программы, номер строки исходного кода и следующую выполняемую инструкцию или строку кода. Используется для обратного выполнения.
Выводит на экран дерево иерархии всех используемых текущим модулем классов. Имеет область списка классов и дерева иерархии. Это окно показывает взаимосвязь используемых в модуле классов.
Показывает список оконных сообщений программы Windows. Области этого окна показывают задание режима отслеживания сообщений, тип перехватываемых сообщений и перехваченные сообщения.
Буфер Clipboard отладчика используется для для вырезания и вставки элементов из одного окна отладчика в другое. Оно показывает вырезанные элементы и их типы. Скопированные в буфер элементы динамически обновляются.
Выводят текущее содержимое выбранной переменной. Его можно открыть с помощью команды Data Inspect или Inspect меню SpeedMenu. Закрывается оно обычно по Esc или щелчком "мышью" на блоке закрытия. При последовательном открытии нескольких окон Inspector нажатием Alt+F3 или командой Window Close вы можете закрыть сразу все эти окна. Окна Inspector выводят простые скалярные величины, указатели, массивы, объединения, структуры, классы и объекты. Выбором команды Inspect в этом окне вы можете создать дополнительные окна Inspector.
Экран пользователя показывает полный экран вывода вашей программы. Этот экран имеет такой же вид, как при выполнении программы без Turbo Debugger. Чтобы переключиться в этот экран, выберите команду Window User Screen. Для возврата в экран отладчика нажмите любую клавишу.
Когда в поле ввода выводится подсказка для ввода имени идентификатора, вы можете набрать часть имени, а затем нажать 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, позиционируйте на элементе курсор, нажмите клавишу 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 | Одно из следующих:
|
Module | Содержимое модуля, включая позицию в исходном коде, аналогично переменной из окна Module. |
Status flag | Значение флага состояния сопроцессора 80х87. |
String | Текстовая строка, например, отмеченный блок из окна File. |
При вставке элементов из буфера Clipboard их тип должен со- ответствовать типу поля ввода. SpeedMenu окна Clipboard содержит следующие команды:
Команда | Описание |
---|---|
Inspect | Позиционирует курсор в то окно, из которого был извлечен элемент. |
Remove | Удаляет подсвеченный элемент или элементы. Тот же эффект для подсвеченного элемента имеет клавиша Del. |
Delete all | Удаляет все в буфере Clipboard. |
Freeze | Приостанавливает динамическое обновление элемента Clipboard. |
Вы можете выбрать команду 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 (общая и доступная виртуальная память).
Эта команда позволяет подключить TD32 к процессу, работающему под Windows NT. Ее полезно использовать, когда вы знаете, где в программе возникают ошибки, но вам трудно воспроизвести ситуацию в отладчике. Команда открывает диалоговое окно Attach to and Debug a Running Process.Для подключения к выполняемому процессу сделайте следующее:
Если процесс содержит информацию об отладке, и Turbo Debugger может найти исходный код, открывается окно Module. В противном случае открывается окно CPU. После этого вы можете использовать отладчик и отлаживать процесс как обычно.
Эта команда отладчика 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
Назад | Содержание | Вперед