ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы.



 

Часть 5

Глава 2. Основы работы с Турбо отладчиком TDW
Простая истина состоит в том, что человек несовершенен, поэтому все мы допускаем ошибки. Будь то простое дело, такое как прогулка, или более сложное, такое как программирование, мы обязательно на чем-то спотыкаемся. 
В программировании ошибки являются совершенно нормальным явлением. Редко кому удается с первого раза написать программу без ошибок. В этом нет ничего удивительного, и этого не следует стыдиться. Однако появление ошибки в программе заставляет программиста
 многократно проверять все с самого начала. В программировании это называется отладкой. 
Что такое отладка?
Отладка - это процесс нахождения и исправления ошибок в программе. Нет ничего необычного в том, что поначалу поиск и устранение ошибок занимают больше времени, чем написание программы. Отладка не является точной наукой; часто лучшее средство отладки нахо
дится в голове у программиста. Тем не менее, систематический метод отладки может дать некоторые преимущества. 
Процесс отладки в общем случае можно разделить на четыре этапа: 
     1. Обнаружение ошибки.
     2. Поиск ее местонахождения.
     3. Определение причины ошибки.
     4. Исправление ошибки.
Обнаружение ошибки
Первый этап является наиболее очевидным. Компьютер либо "зависает" во время работы программы, либо происходит сбой, который проявляется в выдаче на экран бессмысленной информации. Однако, в некоторых случаях ошибка не проявляется так очевидно. Программа 
может работать хорошо до тех пор, пока не будет введено некоторое число (например, 0 или отрицательное число), или пока не будет тщательно проверена выдаваемая ею информация. Только после такой проверки можно обнаружить, что результат отличается от ожида
емого в 2 раза, или что в середине списка имен стоят неправильные инициалы. 
Нахождение ошибки
Второй этап иногда является самым трудным. Он заключается в том, чтобы найти место в программе, где находится ошибка. Просто невозможно держать в голове всю программу сразу (если эта программа не очень маленькая). Лучший подход - это "разделяй и властвуй
", то есть нужно разбивать программу на части и отлаживать их отдельно друг от друга. Структурное программирование идеально подходит для такой отладки. 
Определение причины ошибки
Третий этап, выяснение причины ошибки, возможно, является второй наиболее трудной стадией отладки. После того, как будет определено местонахождение ошибки, обычно становится несколько проще определить причину неправильной работы программы. Например, если
 вы определили, что ошибка находится в процедуре с именем PrintNames, вам достаточно просмотреть текст только этой процедуры, а не всей программы. Но даже в этом случае ошибка может оказаться настолько "неуловимой", что вам придется немного поэксперимент
ировать, прежде чем вы сможете ее найти. 
Исправление ошибки
Последний этап заключается в исправлении ошибки. Вооружившись знанием языка программирования и знанием местонахождения ошибки, вы устраняете ее. После этого вы снова запускаете программу, ждете появления следующей ошибки, и процесс отладки начинается сно
ва. 
Примечание: Более подробное рассмотрение процесса отладки см. в Главе 15. 
При написании программы процесс, состоящий их этих четырех этапов, повторяется многократно. Например, многочисленные синтаксические ошибки не позволяют откомпилировать программу, пока все они не будут исправлены. Компиляторы фирмы Borland имеют встроенны
е средства проверки синтаксиса, которые информируют программиста об ошибках такого типа и позволяют тут же их исправлять. 
Однако есть ошибки гораздо более тонкие и коварные, чем синтаксические. Они не проявляются до тех пор, пока вы не введете отрицательное число, либо являются настолько неуловимыми, что загоняют вас в тупик. Здесь-то вам и придет на помощь Турбо отладчик T
DW. 
Что может вам дать Турбо отладчик TDW?
Турбо отладчик TDW дает вам доступ к гораздо более мощным средствам отладки, чем те, которые имеются в самом компиляторе. 
Турбо отладчик TDW можно использовать для отладки любой программы, написанной на Турбо Паскале для Windows. TDW работает в символьном режиме и позволяет вам при работе вод Windows переключаться на прикладную программу. 
Турбо отладчик TDW можно использовать для решения двух труднейших проблем процесса отладки: поиска места нахождения ошибки и ее причины. Турбо отладчик TDW поможет вам преодолеть эти трудности с помощью исключительных возможностей по замедлению выполнени
я программы, благодаря чему вы можете исследовать состояние программы в любой заданной точке. Вы даже можете тестировать новые значения переменных, чтобы увидеть, как они воздействуют на вашу программу. Эти возможности роеализуются с помощью трассировки,
 пошагового выполнения, просмотра, изменения и прослеживания. 
Трассировка
Вы можете выполнять программу по одному оператору.
Обратная трассировка
Вы можете выполнить код в обратном порядке, изменив ход выполнения программы. 
Пошаговое выполнение
Вы можете выполнять программу по одному оператору, но пропускать вызовы процедур и функций. Если вы уверены, что что в процедурах и функциях нет ошибок, то пропуск трассировки их вызовов увеличит скорость отладки. 
Просмотр
Вы можете запросить Турбо отладчик TDW создать специальное окно для показа самых различных вещей - переменных, их значений, точек останова, содержимого стека, файлов регистрации, данных, файлов исходных текстов, кодов ЦП, памяти, регистров, информации пр
оцессора, арифметики с плавающей точкой, иерархии объектов или классов вывода программы. 
Проверка
Вы можете запросить Турбо отладчик TDW получить содержимое сложных структур данных из вашей программы. 
Изменение
Можно изменить содержимое переменной (как локальной, так и глобальной) на новое значение. 
Прослеживание
Вы можете выделить некоторые программные переменные и прослеживать изменение их значений в процессе работы программы. 
Можно использовать эти мощные средства для разделения вашей программы на некоторые фрагменты, подтверждать работоспособность которых вы можете поочередно. Таким образом, вы сможете просмотреть всю программу, независимо от ее величины и сложности, и найти
 ошибку. Может быть вы найдете фунцию, которая неверно изменяет значение переменной, или неправильную рекурсию, или попадание программы в бесконечный цикл. В любом случае Турбо отладчик TDW значительно поможет вам найти и определить тип ошибки. 
Турбо отладчик TDW имеет средства, позволяющие выполнять отладку объектно-ориентированных программ Паскаля для Windows. Он позволяет работать с объектами и классами. Он корректно обрабатывает позднее связывание виртуальных методов, поэтому отладчик всегд
а выполняет и выводит на экран корректный код. 
Что Турбо отладчик TDW не сможет сделать
Познакомившись со всеми этими возможностями Турбо отладчика TDW, вы можете подумать, что он может все. В действительности есть как минимум три вещи, которые Турбо отладчик не сможет сделать: 
- Турбо отладчик не может перекомпилировать вашу программу. Для этого вам нужен компилятор Турбо Паскаля для Windows. 
- TDW не работает под управлением Windows в графическом режиме, а работает в текстовом режиме, 
- Турбо отладчик не сможет заменить процесс обдумывания. Во время отладки вашим главным инструментом является мысль. Турбо отладчик является мощным средством, но при отсутствии ее он не экономит ни время, ни усилия. 
Как работает Турбо отладчик TDW
Турбо отладчик TDW обеспечивает вас всеми мощными и сложными средствами, сохраняя при этом простоту в использовании. 
В TDW мощность и расширенный набор средств сопровождается превосходной операционной средой. о которой подробнее рассказывается в следующем разделе. 
Достоинства Турбо отладчика TDW
Мы надеемся, что начав использовать Турбо отладчик TDW, вы скоро не сможете без него обойтись. Турбо отладчик специально разрабатывался настолько простым и удобным, насколько это возможно. Для достижения этой цели в TDW были заложены следующие возможност
и: 
- Удобная и логичная система глобальных меню.
- Контексто-зависимые локальные меню, которые практически делают ненужным запоминание и ввод команд. 
- Диалоговые окна, в которых вы можете выбирать, устанавливать и переключать параметры, а также вводить информацию. 
- Когда вам надо ввести что-либо с клавиатуры, Турбо отладчик TDW предоставляет вам сохраненный список текстов (протокол), которые вы уже вводили в подобных ситуациях. Вы можете выбрать любой текст из этого списка, отредактировать его или ввести новый те
кст. 
- Полная поддержка макрокоманд, позволяющая ускорить ввод последовательности команд или нажатий клавиш. 
- Удобное и полное управление окнами.
- Поддержка устройства "мышь".
- Доступ к нескольким типам интерактивной подсказки.
- Выполнение в обратной последовательности.
- Поддержка режима работы с одним и двумя мониторами.
В оставшейся части данной главы рассмотрены эти шесть особенностей пользовательского интерфейса Турбо отладчика TDW. 
Меню и диалоговые окна
В Турбо отладчике TDW, как и в других программных продуктах фирмы Borlаnd, используется удобная система глобальных меню, которые доступны из строки меню расположенной в верхней части экрана. Эта система меню доступна всегда,  независимо от того,  какое о
кно активно (т.е.  в каком окне находится курсор). 
Для каждого пункта главного меню имеется спускающееся меню. С помощью спускающегося меню вы можете: 
- Выполнить команду.
- Открыть всплывающее меню. Это меню выводится после выбора элемента меню, за которым следуется отметка (). 
- Открыть диалоговое окно. Это окно открывается, когда вы выбираете элемент меню, за которым следует многоточие (...). 
Использование меню
Существует 4 способа выбора пунктов из главного меню:
- Нажать F10, подвести курсор к требуемому элементу меню и нажать клавишу Enter. 
- Нажать клавишу F10 и клавишу с первой буквой элемента меню (F, V, R, B, D, O, W, H). 
- Нажать клавишу Alt одновременно с первой клавишей пункта (элемента) меню (F, V, R, B, D, O, W, H) для активизации выбранного меню команд. Например, в любом месте системы нажатие клавиш Alt-F переместит вас в меню File (Файл). Меню Ё (System) будет откр
ыто при нажатии клавиш Alt-пробел. 
- Выбрать элемент (пункт) меню с помощью манипулятора типа "мышь" и нажать кнопку. 
Для перемещения по всем меню, кроме главного, используйте следующие клавиши: 
Используйте стрелки вправо/влево для перемещения от одного спускающегося меню к другому (например, когда вы находитесь в меню File, нажатие стрелки влево переместит вас в меню View). 
Для перемещения по командам конкретного меню используйте стрелки вверх и вниз. 
Используйте клавиши Home и End для перемещения к первой и последней альтернативам (командам) меню, соответственно. 
Для перемещения в меню или диалоговое окно более низкого уровня (всплывающее меню) используется клавиша Enter. 
С этой же целью можно использовать "мышь", поместив указатель на нужную команду и нажав кнопку. 
Выйти из меню или системы меню можно следующим образом:
- Нажмите клавишу Esc для выхода из меню и возврата в предыдущее меню.
- Нажимайте клавишу Esc - если вы находитесь в меню второго уровня, это позволяет выйти из системного меню возвратиться в предыдущее активное окно.
- F10 для возврата из меню любого уровня в предыдущее активное окно.
- Чтобы выйти из системы меню и вернуться в активное окно, нажмите в этом окне кнопку "мыши". 
Некоторые команды главного (основного) меню соответствуют оперативным клавишам (сокращения команд). Там, где возможно, обозначения оперативных клавиш изображаются справа от альтернативы меню. 
Рисунок 14.1 в Главе 14 показывает полное дерево спускающихся меню для Турбо отладчика TDW. В Таблица 14.1 перечисляются все функциональные клавиши. Перечень всех команд Турбо отладчика TDW также приведен в Главе 14. 
Диалоговые окна
Многие команды Турбо отладчика доступны с помощью диалоговых окон. Диалоговое окно может содержать один или более из следующих элементов: 
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
     ЪДДДДДДДДДДї     Программные "кнопки" представляют собой
     і          і±    "теневой" текст (на монохромных системах
     і          і±    он отображается в обратном видеорежиме).
     АДДДДДДДДДДЩ±    Если вы выберите переключатель, Турбо
       ±±±±±±±±±±±    отладчик немедленно выполнит соответствующее
                      щее действие. Для подтверждения вашего
                      выбора выходите из диалоговых окон с
                      помощью "кнопки" с отметкой OK. Для
                      отмены - Cancel. Диалоговые окна содержат
                      также переключатель (функциональную кнопку)
                      Help, по которому выводится справочная
                      информация. Вместо "кнопки" OK можно
                      использовать оперативные клавиши Alt-K.
     [X]              Многопозиционные переключатели (блоки
                      проверки) - это переключатели,
                      работающие в режиме "включено/выключено".
                      Их можно выбирать для включения/выключения
                      параметра. При включенном состоянии в
                      квадратных скобках появляется X: [X].
     ( )              Селективные переключатели позволяют
     (.)              выбрать одну из нескольких установок. При
     ( )              этом в круглых скобках появляется жирная
                      точка.
     ЪДДДДДДДДДДДДї   Рамки (окна) ввода выводятся для того, чтобы
     і_           і   вы могли ввести строку в ответ на подсказку.
     АДДДДДДДДДДДДЩ   С окном (рамкой) подказки связывается
                      обычно протокол ввода.
   ЪДДДДДДДДДДДДДДї   Окна списка содержат список элементов, из
   і THISFILE.EXE і   которых вы можете сделать выбор (например,
   і±THATFILE.EXE±і   мер, список файлов, которые нужно открыть).
   і TOTHERTL.EXE і
   АДДДДДДДДДДДДДДЩ
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Перемещаться по диалоговым окнам можно с помощью клавиш Tab и Shift-Tab. Для установки нужного блока проверки используйте клавиши стрелок. Для выбора "кнопки" нажимайте для перемещения на нее клавишу табуляции, затем нажмите клавишу Enter. 
Для этой цели можно также использовать "мышь". Для выбора диалогового окна переместите указатель в его верхних левый угол и нажмите кнопку "мыши". 
Элементы можно также выбирать с помощью оперативных клавиш (подсвеченная буква в каждой команде). 
Опеределение места расположения
В дополнение к удобной системе Borland спускающихся меню, Турбо отладчик TDW имеет достоинства, которые уменьшают возможность ошибки и сокращают процесс изучения путем сокращения последовательности меню. 
Для понимания этих возможностей вы должны запомнить, что Турбо отладчик TDW является контекстно-зависимой программой. Турбо отладчик запоминает, какое окно вы открыли, какой текст выбрали и в какой части окна (области) находится курсор. Другими словами, 
он точно знает на что вы смотрите, и где находится курсор при выборе команды. Он использует эту информацию при реагировании на вашу команду. Рассмотрим пример для иллюстрации этого фундаментального вопроса. 
Предположим в вашей программе на Паскале есть следующий оператор: 
        MyCounter[TheGrade] := MyCounter[TheGrade] + 1;
Как вы увидите, при работе с Турбо отладчиком TDW получить информацию о структуре данных достаточно просто: вам нужно только нажать оперативные клавиши Ctrl-I (проверка). Если курсор находится под именем массива MyCounter, то Турбо отладчик TDW покажет и
нформацию о содержимом всего массива. Но если бы вы выбрали (т.е. высветили) полностью имя массива плюс индекс и нажали бы клавиши Ctrl-I, то отладчик TDW знал бы, что вы хотите узнать содержимое только одного элемента массива, и вывел бы на экран только
 один элемент. 
Вы можете так переходить ко все более малым и простым программным элементам. Нажатие клавиш Ctrl-I во время просмотра массива дает вам представление о некотором элемента массива. 
Этот вид контекстной зависимости делает Турбо отладчик TDW легким в использовании. Это избавляет от необходимости запоминать и набирать на клавиатуре сложные строки команд меню или использования клавиш, подобных командам. Вы перемещаете курсор к элементу
, содержимое которого хотите определить (или выбираете его с помощью клавиши Ins) и вызываете команду (например, для просмотра - Ctrl-I). Турбо отладчик TDW наилучшим образом выполняет команду для этого выбранного элемента. 
Контекстная зависимость облегчающая пользование отладчиком, однако затрудняет документирование команд. Так, например, команда Ctrl-I в Турбо отладчике TDW не имеет единственного результата, наоборот, результат команды зависит от положения курсора и от вы
бранного текста. 
Локальные меню
Другим аспектом контекстной зависисимости Турбо отладчика TDW является использование локальных меню (в зависимости от обстоятельств). 
Локальные меню в Турбо отладчике TDW настроены на конкретное окно или область, в которой вы находитесь. Очень важно не путать локальные меню с глобальными меню (однако при реальной работе в TDW оба типа меню никогда одновременно не выводятся). 
 ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
 іЁ  File ±View± Run  Breakpoint  Data  Option  Window  Help MENUі
 іЪД ModuleЪДДДДДДДДДДДДДДДДДДДДДДДДДї 181ДДДДДДДДДДДДД1Д[][]ї і
 іі  type  іBreakpoints±±±±±±±±±±±±±±і                        і і
 іі    ParmіStack                    і спускающееся меню      ±і і
 іі    ParmіLog                      і                        ±і і
 іі      PaіWatches                  і глобальное меню       ±і і
 іі      HeіVariables                і                        ±і і
 іі    end;іModule...          F3    і     всплывающее меню   ±і і
 іі  var   іFile...                  і       ЪДДДДДДДДДДДДї   ±і і
 іі    HeadіCPU                      і       і±±Inspect±±±і   ±і і
 іі    i:  іDump                     і       і  Watch     і   ±і і
 іі    s:  іRegisters                і       іДДДДДДДДДДДДі   ±і і
 іі begin іNumeric processor        і       і  Module    і   ±і і
 іі    HeadіExecution history        і       і  File...   і   ±і і
 іі    for іHierarchy                і       іДДДДДДДДДДДДі   ±і і
 іі    begiіAnother                 і       і  Previous  і   ±і і
 іі      { АДДДДДДДДДДДДДДДДДДДДДДДДДЩ       і  Line...   і   ±і і
 іі      s:=ParamStr(i);                     і  Search... і   ±і і
 іі                          локальное меню  і  Next      і   і і
 іі±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±і  Origin    і±±Щі і
 іАДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДі  Goto...   іДДДДЩ і
 іЪДWatchesДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДі            іДДДДї і
 іі                                          АДДДДДДДДДДДДЩ    і і
 іАДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ і
 іAlt:F2-BkptF3-CloseF4-BreakF5-UserF6-UndoF7-InstrF8-RtnF9-To...і
 АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Рис. 2.1 Глобальные и локальные меню
Сравните следующее:
Глобальные меню
- К глобальным (спускающимся) меню вы получаете доступ нажатием клавиши F10 и использованием клавиш со стрелками или набором первой буквы имени меню.
- Спускающиеся меню доступны всегда и видны в верхней строке экрана.
- Их содержимое никогда не изменяется.
- Кекоторые команды меню могут вызываться нажатием соответствующих функциональных клавиш из любого места Турбо отладчика TDW. 
Локальные меню
- К локальным меню вы получаете доступ нажатием клавиш AltF10 или Ctrl-F10.
- Положение и содержимое меню зависит от выбранного текста и от положения курсора.
- Содержимое локального меню может изменяться (важно знать, что локальные команды появляются почти во всех локальных меню, так что множества команд каждого меню предсказуемо), но даже в этих случаях результат команд с одинаковыми именами может быть разли
чным в зависимости от контекста.
- Каждая команда локального меню имеет функциональный эквивалент, состоящий из нажатия клавиши Ctrl, плюс первой буквы команды. Вследствие этого функциональный эквивалент, например, Ctrl-S, может означать в одном контексте одно, а в другом контексте - со
вершенно другое (как отмечалось выше), однако существует соответствие множества команд в последовательности локальных всплывающих меню. Например, команды Goto (Переход) или Search (Поиск) всегда делают одно и то же, даже вызванные из разных мест. 
Протоколы
Меню и контекстная зависимость - это только два аспекта удобной операционной среды Турбо отладчика TDW. Еще одним удобным средством являются протоколы (списки регистрации). 
В соответствии с тем представлением, что пользователь должнен набирать на клавиатуре только абсолютно необходимую информацию, Турбо отладчик TDW сохраняет все, что вы вводите в рамках подсказки, и выводит этот текст, когда вы вызываете эту рамку (окно) п
одсказки снова. 
Например, чтобы выполнить поиск функции с именем MyPercentage, вам придется набирать это слово целиком. Предположим затем, что вы ищете переменную с именем ReturnOnInvestment. Когда вы теперь увидите окно подсказки, вы заметите, что в нем появится Return
OnInvestment. При поиске другой текстовой строки обе введенных строки сохраняются. При последующем использовании команды Search (Поиск) этот список будет расти. 
Окно ввода при поиске может выглядеть следующим образом: 
 ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
 іЁ  File  View  Run  Breakpoint  Data  Option  Window  Help MENUі
 іЪД[ю]- Module:  TPDEMO File: TPDEMO.PAS 219 ДДДДДДДДД1Д[][]ї і
 іі        end                                                і і
 іі    Writeln;                                               ±і і
 іі  end; { ParmsOnHeap }                                     ±і і
 іі                                                           ±і і
 іі begin { program }                                        ±і і
 іі    Init;                                                  ±і і
 іі    Buffer := GetLine;                                     ±і і
 іі    while Buffer <> '' do                                  ±і і
 іі    begin                                                  ±і і
 іі      ProcessLine(Buffer);                                 ±і і
 іі      Buffer := ЪД[ю]ДДДEnter search stringДДДДДї          ±і і
 іі    end;        і GetLine                      і          ±і і
 іі    ShowResults;і NumLetters                   ±і          ±і і
 іі    ParmsOnHeap;і IsLetter                     ±і          ±і і
 іі end.           і NumLines                     ±і          ±і і
 іі                і                              ±і          і і
 іі±±±±±±±±±±±±±±±і                              і±±±±±±±±±Щі і
 іАДДДДДДДДДДДДДДДДі OK         Cancel      Help   іДДДДДДДДДДДЩ і
 іЪДWatchesДДДДДДДДі                               іДДДДДДДДДДДї і
 іі                АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ           і і
 іАДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ і
 і±Enter±item±promted±for±in±dialog±title±±±±±±±±±±±±±±±±±±±±±±±±і
 АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Рис. 2.2 Протокол в окне ввода.
Примечание: Первый элемент в списке поиска всегда представляет собой слово, на которое указывает курсор в окне Module (Модуль). 
Для перемещения по протоколу можно использовать клавиши управления курсором (стрелки) или "мышь". Чтобы начать поиск, нажмите клавишу Enter. При использовании записи из протокола она копируется в вершину списка. 
Можно также редактировать записи. Для этого можно использовать клавиши стрелок, переместив курсор в подствеченный текст, и отредактировать строку обычным образом. При редактировании можно использовать клавиши Del или Backspace. Например, вы можете выбрат
ь MyPercentage и изменить это имя на HisPercentage, вместо того, чтобы целиком вводить новый текст. Если вы начинаете вводить новый элемент, когда запись подсвечена, то старая запись затирается. 
В протоколе содержится последние 5 строк, которые вы вводили (это число можно изменить с помощью программы установки TDWINST). 
Для большинства окон ввода Турбо отладчик TDW хранит отдельный протокол. 
Автоматическое дополнение имени
Когда вам дается приглашение на ввод текста в окне ввода, вы можете ввести только часть имени идентификатора в программе, а затем нажать Ctrl-N. 
Предупреждение: Когда в верхнем правом углу экрана появляется слово READY... с тремя точками в конце, это означает, что происходит сортировка таблицы имен идентификаторов. Ctrl-N не будет работать до тех пор, пока не исчезнут три точки, что означает гото
вность таблицы имен идентификаторов к использованию для автоматического дополнения имен. 
- Если введено достаточно символов для однозначной идентификации имени, Турбо отладчик TDW дополняет имя.
- Если введенная вами часть имени не принадлежит ни одному из известных имен идентификаторов, ничего не происходит.
- Если введенное вами соответствует более чем одному имени идентификатора, то выводится список таких имен, из которого вы можете выбрать желаемое. 
Расширение по соответствию
Для нахождения записей в списке файлов или каталогов диалогового окна Турбо отладчик TDW позволяет выполнять расширение по соответствию. Начните вводить имя файла или каталога. Если Турбо отладчик TDW найдет в списке такой файл, строка подсветки перемест
иться на это имя, как только вы введете достаточно символов. После этого можно просто выбрать "кнопку" OK. 
Создание макрокоманд
Когда вы обнаружите, что выполняете повторяющуюся последовательность действий, задайте себе вопрос: а не стоит ли задать макрокоманду? 
Макрокоманды - это просто определяемые вами оперативные клавиши. Вы можете присвоить последовательность команд Турбо отладчика TDW и нажатий клавиш одной клавише и повторять потом ваши действия. 
                           ЪДДДДДДДДДДДДДДДДДДДДДДДї
         Создать           і Create           Alt= і
         Остановить запись і Stop Recording   Alt- і
         Удалить           і Remove                і
         Удалить все       і Delete All            і
                           АДДДДДДДДДДДДДДДДДДДДДДДЩ
Чтобы создать макрокоманду, выберите элемент меню OptionsіMacros (ПараметрыіМакрокоманды). При этом вам предоставится возможность выбрать одну из четырех команд: Create (Создать), Stop Recording (Прекратить запись), Remove (Удалить) или Delete All (Удали
ть все). Выберите команду Create (Создать). При этом Турбо отладчик TDW выведет вам подсказку с запросом клавиши, для которой он назначит записываемую макрокоманду. Нажмите редко используемое или легко запоминающееся сочетание клавиш (например, Shift-F1 
- для повторного запуска программы). После этого выполните все шаги и команды, которые вы хотите выполнять в качестве макрокоманды. 
Для завершения записи макрокоманды выполните одно из следующих действий:
- выберите элемент меню OptionsіMacrosіStop Recording (ПараметрыіМакрокомандыіОстановить запись);
- нажмите вновь определенную клавишу макрокоманды (в данном примере Shift-F1);
- нажмите клавишу Alt- (клавишу Alt одновременно с символом "минус"). 
Окна Турбо отладчика TDW
Сегодня многие программные продукты работают с окнами, но Турбо отладчик делает это лучше. Турбо отладчик TDW выводит в меню (локальных и глобальных) всю информацию и данные, работает с диалоговыми окнами (которые используются для задания или ввода инфор
мации) и другими окнами. В Турбо отладчике TDW используется множество различных типов окон. Тип окна зависит от того, какого рода информацию он содержит. Открывать и закрывать все окна можно с помощью команд меню (или соответствующих им сокращений - опер
ативных клавиш). Большинство окон Турбо отладчика (14 типов окон) выводятся из меню View (Обзор). Другой класс окон, который называется окнами проверки (Inspector), выводится при выборе элемента меню DataіInspect (ДанныеіПроверка) или команды локального 
меню Inspect. 
Окна меню View
Перечислим типы окон, которые вы можете открыть из меню View (Обзор). 
                           ЪДДДДДДДДДДДДДДДДДДДДї
     Точки останова        і Breakpoints        і
     Стек                  і Stack              і
     Регистрация           і Log                і
     Выражения просмотра   і Watches            і
     Переменные            і Variables          і
     Модуль                і Module...       F3 і
     Файл                  і File...            і
     ЦП                    і CPU                і
     Дамп                  і Dump               і
     Регистры              і Registers          і
     Сопроцессор           і Numeric processor  і
     Протокол выполнения   і Execution history  і
     Иерархия              і Hierarchy          і
     Информация Windows    і Windows info       і
     Другое                і Another           і
                           АДДДДДДДДДДДДДДДДДДДДЩ
Когда вы открываете одно (или более) из этих окон, их можно перемещать, менять размер, закрывать и выполнять другие операции с помощью команд меню Window (Окно) и Ё (System - Система), о которых рассказывается в разделе "Работа с окнами". 
Окно Module
В окне Module (Модуль) на экран выводится код отлаживаемой программы. Вы можете перемещаться по этому модулю и просматривать данные и код, позиционирую курсор на именах переменных программы и давая соответствующие команды локальных меню. 
В окне Module вы, вероятно, будете проводить больше времени, чем в окнах других типов, поэтому стоит потратить время и изучить различные команды локальных меню, доступных для этого типа окна. 
Для того, чтобы открыть окно Module, можно также нажать клавишу F3. 
Примечание: Более подробно об окне Module и его командах рассказывается в Главе 8. 
Окно Watches
В окне Watches (Просмотр), которое называют иногда также окном наблюдения, выводятся переменные и их изменяющиеся значения. Нажав клавиши Ctrl-W при позиционировании курсора на имени переменной в окне Module (Модуль), вы можете добавить в окно Watches но
вую переменную. 
Примечание: Подробнее об окне Watches рассказывается в Главе 6. 
Окно Breakpoints
В окне Breakpoints (Точки останова) выводятся установленные вами точки останова. Точка останова определяет то место в вашей программе, где остановлено выполнение программы. При этом вы можете проверить состояние программы. В левой области окна перечисляю
тся позиции в программе каждой точки останова (или показано, что это глобальная точка останова). В правой области данного окна показаны условия, при которых срабатывает текущая (подсвеченная) точка останова. 
Используйте данное окно для изменения, удаления или добавления точек останова. 
Примечание: Полное описание данного типа окна и работы с точками останова приводится в Главе 7. 
Окно Stack
В окне Stack (Стек) выводится текущее состояние стека. При этом внизу указаны самые первые вызовы функций (основная программа), а затем - все последующие вызовы в том порядке, как они выполнялись. 
Вы можете проверить исходный код любой указанной в стеке функции, переведя на нее подсветку и нажав клавиши Ctrl-I. 
Подсветив имя функции в стеке и нажав клавиши Ctrl-I, вы открываете окно Variables (Переменные), в котором выводятся переменные, глобальные относительно программы, переменные, локальные относительно функции, и аргументы вызова функции. 
Примечание: Более детально об окне Stack рассказывается в Главе 5. 
Окно Log
В окне Log (Регистрация) выводится содержимое протокола (журнала) регистрации сообщений. Протокол содержит пролистываемый список сообщений и информацию, сгенерированную при вашей работе с Турбо отладчиком TDW. 
Там сообщается, например, о том, почему остановилась ваша программа, о результатах срабатывания точек останова и содержимом окон, которые вы сохранили в протоколе регистрации. 
Данное окно позволяет вам вернуться назад и посмотреть, что привело к текущему состоянию. 
Примечание: Более подробно об окне Log рассказывается в Главе 7. 
Окно Variables
В окне Variables (Переменные) выводятся переменные, доступные в данной точке вашей программы. В верхней области окна содержатся глобальные переменные. В нижней области показаны переменные, локальные по отношению к текущей функции или модулю (если они ест
ь). 
Данное окно полезно использовать, когда вы хотите найти функцию или переменную и знаете, с каких символов начинается ее имя (например, "abc"), но не помните точного имени. Вы можете войти в область глобальных идентификаторов данного окна и быстро найти т
о, что вам требуется. 
Примечание: Подробнее окно Variables описывается в Главе 5. 
Окно File
В окне File (Файл) выводится содержимое файла на диске. Вы можете просматривать содержимое файла в виде непосредственных шестнадцатиричных байт или в виде кода ASCII (тектовый вид). Вы можете выполнить поиск конкретного текста или последовательности байт
, а также непосредственно скорректировать любую часть файла на диске. 
Это средство полезно использовать, если вы отлаживаете программу, использующую файлы на диске, и хотите изменить содержимое программы, модифицировав содержимое одного из ее файлов. Можно также исправить ошибку в содержимом файла, либо проверить файл, соз
данный программой, чтобы убедиться в правильности его содержимого. 
Примечание: Более подробно об этом окне рассказывается в Главе 8. 
Окно CPU
Окно CPU (ЦП) показывает текущее состояние центрального процессора (ЦП). Это окно содержит пять областей, в одной из которых показаны шестнадцатиричные байты данных, в другой выводится в непосредственном виде (шестнадцариричные байты) - содержимое стека,
 в третьей - содержимое регистров ЦП, в четвертой - машинные инструкции, а в пятой - содержимое флагов ЦП. 
Окно CPU полезно использовать, когда вы хотите просмотреть точную последовательность инструкций, которую образует строка исходного кода программы, или структуру данных. Если вы знакомы с кодом Ассемблера, это может помочь вам выявить трудноуловимые ошибк
и или проверить содержимое создаваемого программой файла, чтобы убедиться в его корректности. 
Примечание: Окно CPU и отладка на уровне Ассемблера обсуждаются подробно в Главе 12. 
Окно Dump
В окне Dump (Дамп) выводится в непосредственном виде содержимое области памяти. (Это окно эквивалентно области данных окна CPU.) Вы можете выводить данные в виде символов, шестнадцатиричных байт, слов, двойных слов, или в любом формате с плавающей точкой
. Данное окно можно использовать для просмотра в непосредственном виде некоторых данных, когда вам не требуются остальные части окна CPU. В локальном меню этого окна имеются команды, позволяющие вам модифицировать выводимые данные, изменять формат их выв
ода, а также манипулировать блоками данных. 
Примечание: Более подробно о данном окне рассказывается в Главе 12 при описании отладки на уровне Ассемблера. 
Окно Registers
В окне Registers (Регистры) выводится содержимое регистров и флагов процессора (ЦП). Данное окно содержит две области, которые эквивалентны областям регистров и флагов окна CPU (ЦП). Это окно можно использовать, когда вам нужно просмотреть содержимое рег
истров, и вас не интересует прочая информация о состоянии центрального процессора. Значение любого регистра или флага можно изменить с помощью команды локального меню. 
Примечание: Более углубленно о данном окне рассказывается в Главе 12, где описывается отладка на уровне Асссемблера. 
Окно Numeric Processor
В окне Numeric Processor (Арифметический сопроцессор) выводится текущее состояние арифметического сопроцессора. Это окно содержит три области. В одной из областей показывается содержимое регистров с плавающей точкой, в другом выводятся значения флага сос
тояния, а в третьей - значения управляющих флагов. 
Данное окно может помочь вам выявить ошибки в программе, работающей с числами с плавающей точкой. Вы должны иметь углубленное представление о внутренней работе математического сопроцессора. Только в этом случае данное окно принесет вам пользу. 
Примечание: Более подробно о работе с окном Numeric Processor рассказывается в Главе 13. 
Окно Execution History
В окне Execution History (Протокол выполнения) выводится код Ассемблера и и исходные строки вашей программы, вплоть до последней выполняемой строки. Верхняя область содержит выполненный код Ассемблера (вы можете пройти его повторно). В нижней области выв
одится следующее: 
1. Выполняете вы трассировку или выполнение по шагам.
2. Строка  исходного кода для следующей выполняемой инструкции.
3. Номер строки исходного кода.
Вы можете анализировать содержимое данного окна или использовать его для выполнения вашей программы до конкретной точки. 
Примечание: Подробнее об окне Execution History рассказывается в Главе 5. 
Окно Hierarchy
В окне Hierarchy (Иерархия) выводится дерево иерархии всех объектов, используемых в текушем модуле. Окно содержит две области. Одна область используется для вывода списка типов объектов Другая - для вывода дерева иерархии объектов. Данное окно показывает
 вам взаимосвязь объектов, используемых в текущем модуле. Оно также позволяет вам проверить любой объект, а также являющиеся его компонентами поля данных или элементы и методы (для этого используются команды локального меню). 
Примечание: Подробнее о данном окне рассказывается в Главе 10. 
Окно сообщений Windows (Windows Messages)
Это окно выводит список сообщений, передаваемых между окнами в вашей прикладной программе для Microsoft Windows. Это окно имеет три области: 
- левая область показывает, для каких процедур или логических номеров вы отслеживаете сообщеения;
- правая область показывает тип отслеживаемых сообщений;
- в нижней области отображаются сами сообщения.
Примечание: Использование средств окна Windows Messages описано в Главе 11.. 
Окна-дубликаты
Вам предоставляется также возможность открыть дубликаты для трех типов окон - Dump, File или Module. Это можно сделать с помощью выбора команды меню ViewіAnother (ПросмотріДругое). 
                  ЪДДДДДДДДДДДДДДДДДДї
       Модуль     і Module...        і
       Дамп       і Dump             і
       Файл       і File...          і
                  АДДДДДДДДДДДДДДДДДДЩ
Это позволяет вам отслеживать несколько отдельных областей для кода Ассемблера, различных используемых или генерируемых программой файлов, или некольких модулей разных программ одновременно. 
Не беспокойтесь о том, если вдруг Турбо отладчик TDW сам откроет одно из этих окон. В некоторых случаях он будет делать это в ответ на команду. 
Экран пользователя
Экран пользователя - это экран вывода вашей программы. Этот экран будет иметь точно такой же вид, какой он имел бы при выполнении вашей программы без Турбо отладчика TDW (непосредственно под Windows). 
Вы можете использовать данный экран для того, чтобы проверить, что выводит ваша программа, и соответствует ли это тому, что должно быть на экране. Для переключения в экран пользователя выберите пункт меню WindowіUser Screen (ОкноіЭкран пользователя). Пос
ле просмотра экрана пользователя нажмите любую клавишу для возврата обратно в экран отладчика. 
Примечание: Клавиша Alt-F5 - это оперативная клавиша, которая позволяет переключаться между операционной средой и экраном пользователя. 
Окна проверки
В окне Inspector (Проверка) выводится текущее значение выбранной переменной. Его можно открыть, выбрав в локальном меню пункт (команду) DataіInspect (ДанныеіПроверка). Обычно данное окно выбирается с помощью нажатия клавиши Esc или кнопки "мыши". Если вы
 откроете последовательно несколько окон проверки (что часто происходит при проверке сложных структур данных), то удалить все окна проверки можно с помощью клавиш Alt-F3 или команды WindowіClose (ОкноіЗакрытие). 
Вы можете открыть окно Inspector для просмотра элементов массива или содержимого переменной или выражения. Число областей в окне зависит от характера проверяемых вами данных. Окно проверки адаптируется к тому типу данных, который выводится на экран. Оно 
может поддерживать не только простые скалярные типы (int, float и т.д.), но и указатели, массивы, записи, структуры и объединения. Каждый тип элементов данных выводится в таком виде, который максимально соответствует использованию его в исходном коде про
граммы. 
Дополнительные окна проверки можно создать просто с помощью выбора команды Inspect (Проверка), в то время как дополнительные окна Module, File или CPU можно создать только, выбрав элемент (команду) меню ViewіAnother (ОбзоріДругое окно). 
Активное окно
Хотя в Турбо отладчике TDW допускается открывать одновременно много окон, активным может быть только одно окно. Активное окно соответсвует следующим критериям: 
- Активное окно имеет двойную рамку, а не одинарную.
- Активное окно содержит курсор или строку подсветки.
- Если окна перекрываются, активное окно находится перед ними (первое окно). 
Когда вы даете команды, вводите текст или "прокручиваете" содержимое окна, это влияет только не текущее окно и не влияет на другие открытые окна. 
 ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
 іЁ  File  View  Run  Breakpoint  Data  Option  Window  Help    MENUі
 іЪДДДДД Module:  TPDEMO File: TPDEMO.PAS 219 ДДДДДДДДД1ДДДДДДДДДДї і
 іі        end ЪДДДДДД Stack ДДДДДД5ДДДДДДДДї                     і і
 іі    Writeln;і TPDEMO                     і                     і і
 іі  end; { Parі   ЪДДДДД Log ДДДДДДДДДДДДДДДДДДД4ДДДДї           і і
 іі            і   і                                  і           і і
 іі begin { prі   і                                  і           і і
 іі    Init;   і   і                                  і           і і
 іі    Buffer :АДДДі                                  і           і і
 іі    whilЙНН[ю]ННDumpННННННННННННННННН3НННН[][]»  і           і і
 іі    begiє ds:0000 CD 20 00 A0 00 9A F0 FE = & U*  і           і і
 іі      Prє ds:0008 A4 02 D3 01 C5 41 90 01 .^.Ayo±  і           і і
 іі      Buє ds:0010 C5 41 8D 02 DE 38 D7 2D .Afe!`±ДДЩ           і і
 іі    end;є ds:0018 01 01 01 00 03 FF FF FF oooo.               і і
 іі    ShowИ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±ДЩ              і і
 іі    ParmsOnHeap;                                              і і
 іі end.                і                                         і і
 іі                     АДДДДДДД активное окно                    і і
 іі                                                               і і
 іАДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ і
 іЪДWatchesДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї і
 іі                                                               і і
 іАДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ і
 іAlt:F2-BkptF3-ClF4-BackF5-UserF6-UndoF7-InstrF8-RtnF9-ToF1-Local  і
 АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Рис. 2.3 Активное окно
Что выводится в окне?
Окно всегда содержит большинство из следующих элементов, которые дают вам информацию об окне и позволяют выполнить в нем различные действия. 
      пиктограммы переключения и переформатирования окна ДДДДДї
    Ъпиктограмма ЪД заголовок           номер окна ДДДДДї     і
    і  закрытия  і                                      і     і
                                                           
 ЙН[ю]ННModule: TCDEMO File: tcdemo.c (modified) 31ННННН1Н[][]Н»
 є   static void showargs(int argc, char *argv[]);               
 є                                                               ±
 є   і* program entry point                                      ±
 є      *і                                                       ±
 є  int main(int argc, char **argv) {                           ±
 є       unsigned int nlines, nwords, wordcount;                 ±
 є       unsigned long totalcharacters;                          ±
 є                                        полоса прокрутки ДДДДД±
 є       nlines = 0;                                             ±
 є       nwords = 0;                                             І
 є       totalcharacters = 0;                                    ±
 є       showargs(argc, argv);                                   ±
 є       while (readline() != 0) {                               
 є             wordcount = makeintowords(buffer);                і
 И±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±Щ
                                                                
      і                                                          і
      АДДДДДД полоса "прокрутки"            изменение размера ДДДЩ
Рис. 2.4 Типичное окно
Окно содержит:
- Контур (рамку) окна (рамка двойная, если окно активное, и одинарная в противном случае).
- Заголовок, расположенный в левой верхней части окна.
- Полоса "прокрутки" (справа и внизу) выводится в том случае, если окно содержит информацию, которая не вмещается в текущее поле окна. Перемещать информацию в окне с помощью полосы "прокрутки" можно, используя "мышь": 
   а) Щелкните кнопкой "мыши", переместив указатель на конец полосы "прокрутки" (со стрелкой). Этим вы переместите изображение в заданном направлении на одну позицию. 
   б) Для перемещания одного из размеров окна в заданном направлении щелкните кнопкой "мыши", переведя указатель в "серую" область полосы "прокрутки". 
   в) Перемещайте рамку прокрутки настолько и том направлении, как это необходимо. 
- В нижнем левом углу окна находится пиктограмма изменения размера. "Зацепив" ее с помощью "мыши" и перемещая, можно сделать окно больше или меньше.
- Номер окна в левом верхнем углу отражает порядок, в котором было открыто окно.
- В правой верхней части окна находятся пиктограммы переключения и переформатирования окна. Пиктограмма переключения (слева) позволяет вам с помощью "мыши" увеличить размер окна до всего поля экрана, восстановить предыдущий размер окна, а рамка переформа
тирования - изменить его размер (пропорционально). Для выполнения этих функций нужно установить на одну из пиктограмм указатель "мыши" и щелкнуть ее кнопкой.
- В вернем левом углу окна находится пиктограмма закрытия окна. Для закрытия окна нужно установить на нее указатель "мыши" и щелкнуть ее кнопкой. 
Работа с окнами
При наличие такой развитой системы окон вы, вероятно, захотите открыть на экране одновременной несколько окон. Турбо отладчик TDW позволяет вам легко переходить из одного окна в другое, перемещать их, открывать их одно за другим, сжимать их или расширять
, а также закрывать. 
Большинство команд управления окнами содержится в меню Windows (Окна). Еще несколько команд можно найти в системном меню Ё (System). Это меню отмечено символом Ё в левой чести верхней строки меню. 
Примечание: Для того, чтобы открыть системное меню, нажмите клавиши Alt-пробел или Alt-W. 
Переход от одного окна к другому
Каждое открываемое вами окно содержит номер в верхнем правом углу. Обычно, окно Module (Модуль) - это окно номер 1, а окно Watches (Просмотр) - это окно номер 2. Следующему окну, которое вы откроете, будет присвоен номер 3, и т.д. 
Эта система нумерации предоставляет вам быстрое и простое средство перемещения от одного окна к другому. Вы можете с помощью клавиши Alt в сочетании с номером окна сделать активным любое из первых 9 окон. Например, при нажатии клавиш Alt-2 активным стане
т окно Watches. При этом любая выбираемая далее команда будет влиять на данное окно и на элементы в нем. 
Вы можете также циклически переходить от окна к окну, используя команду меню WindowіNext (ОкноіСледующее) или оперативную клавишу F6. Это удобно использовать, если номер окна скрыт, и вы не знаете, какую цифру использовать для перехода к нему. 
Кроме того, для активизации окна можно использовать "мышь". 
Для вывода списка всех открытых окон выберите в строке меню команду Window (Окно). В нижней части меню Window выводится до 9 открытых окон, из которых вы можете сделать выбор. 
Если у вас открыто более 9 окон, можно использовать команду Pick (Выбор), по которой на экран выведется всплывающее меню со всеми открытыми окнами. 
Если окно разбито на области (каждая область резервируется для данных конкретного типа), то от одной области к другой можно переходить с помощью команды WindowіNext Pane (ОкноіСледующая область) или клавиш Tab (либо Shift-Tab). 
Примечание: Клавиши Shift-Tab - это сокращенный вариант команды WindowіNext Pane (ОкноіСледующая область). 
Переходить из одной области в другую можно также с помощью "мыши". 
Больше всего областей (5 областей) содержит окно CPU (ЦП). 
Примечание: Таблица клавиатурных макрокоманд для областей приведена в Главе 14. 
При переходе от одной области к другой вы можете заметить, что в некоторых областях появляется мерцающий курсор, а в других - строка подсветки. Если появляется курсор, то вы можете перемещаться по тексту с помощью стандартных клавиатурных команд (наприме
р, команды PgUp, Ctrl-Home и Ctrl-PgUp перемещают курсор, соответствеенно, вверх на один экран, к вершине области или к концу списка. Для перемещения в области окна можно также использовать оперативные клавиши, аналогичные тем, которые используются в ред
акторе WordStar. 
Если вместо курсора в области появляется строка подсветки, то вы, тем не менее, можете использовать стандартные клавиши перемещения курсора. Но используется также пара специальных клавиш. В алфавитных списках вы, например, можете выполнять выбор по набор
у (поиск по возрастанию). При нажатии каждой буквы строка подстветки перемещается к элементу, начинающемуся с нажатой вами буквы. Позиция курсора в подсвеченном элементе показывает, какая часть имени уже набрана. Когда полоса подсветки установится на нуж
ный элемент, поиск завершен. Такой поиск по возрастанию (см. ранее) или выбор по набору позволяет минимизировать число символов, которые нужно вводить для выбора элемента из списка. 
После того, как нужный элемент в списке будет выбран (подсвечен), вы можете нажать клавиши Alt-F10 или Ctrl-F10 для выбора для него соответствующей команды локального меню. Во многих списках после выбора элемента можно просто нажать клавишу Enter. Она де
йствует, как оперативная клавиша. Точная функция этой клавиши в каждом случае описывается в Главе 14. 
Наконец, некоторые области позволяют вам начать ввод нового значения или строки поиска, не выбирая сначала команду. Обычно это относится к наиболее часто используемым командам локального меню в области или окне, типа команды Goto (Переход) в окне Module,
 команды Search (Поиск) в окне File, или команды Change (Изменение) в окне Registers. 
Перемещение окон и изменение их размера
Когда вы в Турбо отладчике TWD открываете новое окно, оно появляется вблизи текущей позиции курсора и имеет размер, использщующийся по умолчанию для данного типа окон. Если вы сочтете положение или размер окна неудобным, для их настройки можно использова
ть команду WindowіSizeіMove (ОкноіРазмеріПеремещение). 
При перемещении окна или изменении его размера рамка текущего окна изменяется и становится одинарной. При этом вы можете для перемещения окна использовать клавиши стрелок, а для изменения его размера - клавишу Shift совместно с клавишами стрелок. Когда в
ы будет удовлетворены полученным результатом, нажмите клавишу Enter. 
Примечание: Команде WindowіSizeіMove соответствуют оперативные клавиши Ctrl-F5. 
При наличии "мыши" перемещение окон и изменение их размера еще более облегчается: 
- Захватите "мышью" пиктограмму изменения размера в нижнем правом углу окна и измените его размер.
- Для перемещения окна захватите заголовок окна за любой его край и переместите окно. 
Если вы хотите быстро увеличить ("распахнуть") или уменьшить размер окна, выберите команду WindowіZoom (ОкноіПереключение размера) или нажмите кнопку "мыши", переместив указатель на пиктограмму переформатирования или переключения размера окна в правом ве
рхнем его углу. 
Примечание: Команде WindowіZoom соответствуют оперативная клавиша F5. 
Наконец, если вы хотите временно избавиться от окна, но не хотите его закрывать, сделайте его активным, а затем выберите команду WindowіIconsizeіRestore (ОкноіСжатиеіВосстановление). Окно сожмется до маленького прямоугольника, при этом будут видны только
 его имя, пиктограмма закрытия и пиктограмма переключения. Для восстановления окна выберите команду WindowіIconsizeіRestore еще раз, или щелкните кнопкой "мыши", установив указатель на пиктограмму переключения размера. 
Закрытие и восстановление окон
При работе в окне его можно закрыть с помощью команды WindowіClose (ОкноіЗакрытие) или нажатия оперативных клавиш Alt-F3. 
При наличии "мыши" вы можете также щелкнуть кнопкой "мыши", установив указатель в пиктограмме закрытия окна в левом верхнем углу. 
Если вы закрыли окно по ошибке, его можно восстановить с помощью команды WindowіUndo Close (ОкноіОтменить закрытие) или нажатия клавиш Alt-F6 (это относится только к последнему закрытому вами окну). 
Вы можете также восстановить для экрана Турбо отладчика TDW ту схему, которая у него была, когда первоначально вошли в Турбо отладчик. Это можно сделать с помощью команды системного меню ЁіRestore Standard (СистемаіВосстановление стандартной схемы). 
Наконец, если ваша программа затерла своим выводом экран операционной среды (из-зы выключенного переключения экранов), вы можете очистить его с помощью команды системного меню ЁіRepaint Desktop (СистемаіВосстановление оперативной области экрана). 
Сохранение используемой вами схемы окон
Для сохранения выбранной вами схемы окон используйте команду OptionsіSave options (ПараметрыіСохранение параметров). В диалоговом окне Save Configuration (Сохранение конфигурации) перейдите с помощью клавиши Tab на переключатель Layout (Схема) и для вклю
чение его нажмите клавишу пробела. После этого, если конфигурация сохранена в файле TDCONFIG.TDW, при каждом запуске Турбо отладчика TDW он будет выводить экран с выбранной вами схемой окон. С помощью команды OptionsіRestore options (ПараметрыіВосстановл
ение параметров) можно также загрузить другую конфигурацию, если она была сохранена в файле конфигурации с другим именем. 
Получение справочной информации
Как вы выдите, Турбо отладчик TDW делает все, чтобы облегчить вам процесс отладки. Вам не нужно помнить различные команды, он сохраняет то, что вы вводите, на тот случай, если вы захотите это повторить. Он предлагает также исчерпывающее управление окнами
. При этом Турбо отладчик TDW представляет собой развитую программу со множеством средств и команд. Чтобы избежать возможной путаницы, TDW предлагает следующие справочные средства: 
- Индикатор активности в левом правом углу экрана всегда показывает текущее состояние. Например, если курсор находится в окне, в индикаторе активности выводится READY (Готов). Если выводится меню, в нем указываеся MENU, а если вы находитесь в диалоговом 
окне - PROMPT (Подсказка). Если вы, запутаетесь и не можете понять, что происходит в отладчике, вгляните на индикатор активности. (В качестве примеров режима индикатора активности можно привести также SIZEіMOVE (РазмеріПеремещение), MOVE (Перемещение), E
RROR (Ошибка), RECORDING (Запись), WAIT (Ожидание), RUNNING (Выполнение), MENU (Меню), HELP (Справка), STATUS (Состояние) и PLAYBACK (Повторное выполнение). 
- Активное окно всегда находится на переднем плане и имеет двойную рамку. 
- С помощью клавиши F1 вы можете получить доступ к развитой контекстной справочной системе. По данной клавише на экран выводится список тем, из которых вы можете выбрать необходимую. 
- В строке состояния в нижней части экрана всегда дается краткая информация об используемых клавиатурных командах. При нажатии клавиши Alt или Ctrl данная строка изменяется. Когда вы находитесь в системе меню, эта строка предлагает вам оперативное описан
ие текущей команды меню. 
Более подробная информация о последних двух средствах содержится в следующих двух разделах. 
Оперативная помощь
В Турбо отладчике TDW, как и в других продуктах фирмы Borland, встроен контекстно-зависимый оперативный справочник. Он доступен как при работе в системе меню, так и при выводе сообщения об ошибке или подсказки. 
Для вывода справочного экрана с информацией, относящийся к текущему контексту (окну или меню) нажмите клавишу F1. При наличие "мыши" вы можете вывести справочный экран, выбрав F1 в строке состояния. Некоторые справочные экраны содержат подсвеченные слова
, которые позволяют вам получить дополнительную информацию по данной теме. Для перемещения к нужным ключевым словам используйте клавиши Tab или Shift-Tab и нажмите клавишу Enter. Для перемещения к первому или последнему слову на экране используйте клавиш
и Home и End. 
Доступ к оперативным справочным средствам можно получить также с помощью команды Help (Справка) из строки меню (оперативные клавиши Alt-H). 
                                  ЪДДДДДДДДДДДДДДДДДДДДДДДДДДї
       Индекс                     і Index           Shift-F1 і
       Предыдущая тема            і Previous topic    Alt-F1 і
       Информация по справочнику  і Help on help             і
                                  АДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Если вы хотите вернуться к предыдущему справочному экрану, нажмите клавиши Alt-F1 или выберите команду Previous (Предыдущий) из меню Help (Справка). В справочной системе для просмотра последних 20 экранов можно пользоваться клавишей PgUp (клавиша PgDn ра
ботает, когда вы находитесь в группе связанных экранов). Для доступа к индексному указателю справочной системы нажмите Shift-F1 (или F1 в справочной системе) или выберите команду Index в меню Help. Для получения информации о самой справочной системе выбе
рите в меню Help команду HelpіHelp. Для выхода из справочной системы нажмите клавишу Esc. 
Строка состояния
При работе в Турбо отладчике TDW в нижней части экрана выводится краткая справочная строка. В этой строке состояния кратко описаны клавиши или команды меню для текущего контекста. 
В окне
Когда вы находитесь в окне, в строке состояния показаны обычно команды, которые выполняются по функциональным клавишам: 
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
 F1-Help F2-Bkpt F3-Mod F4-Here F5-Zoom F6-Next F7-Trace F8-Step F9-Run F10-Menu
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Рис. 2.5 Обычная строка состояния
 (F1 - Справка; F2 - Точки останова; F3 - Режим; F4 - Здесь; F5 - Переключение; F6 - Следующий; F7 - Трассировка; F8 - Шаг; F9 - Выполнение; F10 - Меню.) 
Если вы нажмете клавишу Alt и удержите ее в таком состоянии секунду-другую, то на экран выведутся команды, выполняемые по клавише Alt: 
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
 Alt: F2-Bkpt to F3-Close F4-Back F5-User F6-Undo F7-Instr F8-Rtn F9-To F10-Loca
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Рис. 2.6 Строка состояния при нажатой клавише Alt
 (Alt: F2 - Точка останова; F3 - Закрыть; F4 - Обратно; F5 - Пользователь; F6 - Отменить; F7 - Инструкции; F8 - Возврат; F9 - На; F10 - Локальный.) 
Если вы нажмете у будете удерживать клавишу Ctrl, то на экран выведутся команды, выполняемые при нажатии клавиши Ctrl и соответствующей буквы. Эта строка состояния изменяется в зависимости от текущего окна и области и показывает сокращенные эквиваленты к
оманд текущего локального меню. Вы можете просмотреть все доступные команды локального меню, нажав клавиши Alt-F10 или Ctrl-F10 (при этом выведется все меню). 
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
 Ctrl:I-Inspect W-Watch M-Module F-File P-Previous L-Line S-Search N-Next
 ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Рис. 2.7 Строка состояния при нажатой клавише Ctrl
 (Ctrl: I - Проверка; W - Просмотр; M - Модуль; F - Файл; P - Предыдущий; L - Строка; S - Поиск; N - Следующий.) 
При наличии "мыши" для выполнения нужной команды нужно установить курсор в соответствующей позиции строки состояния и нажать кнопку "мыши". 
В меню или диалоговом окне
Когда вы находитесь в меню или в диалоговом окне, в строке состояния кратко описано, что делает текущий элемент. Например, если подсвечена команда ViewіRegisters (ОбзоріРегистры), то в строке состояния говорится: Open a CPU registers window (открывает ок
но регистров ЦП). 
Когда вы находитесь в локальном или глобальном меню, строка состояния дает вам справочную информацию по меню. 


Яндекс цитирования