 |
Меню Window (Окно) содержит команды, которые позволяют вам
настраивать окна, уже имеющиеся на экране. Вы можете как переме-
щать окно по экрану, так и изменять его размер. (Для этого можно
также использовать клавишу Ctrl-F5).
Для позиционирования текущего окна используйте команду меню
WindowіSize/Move (ОкноіРазмер/Перемещение), затем используйте
клавиши стрелок для позиционирования текущего окна (в данном слу-
чае окна Staсk) на экране. Для настройки размера окна нажмите
клавишу Shift и (удерживая клавишу Shift в нажатом положении) од-
ну из клавиш стрелок. Когда вы выберете нужную позицию и размер
окна, нажмите клавишу Enter.
Теперь для подготовки к следующему разделу удалите окно
Stack (Стек), нажав клавишу Alt-F3. В зависимости от того, загру-
зили вы программу на языке Паскаль или на языке Си, вам следуют
перейти к разделу, относящемуся к программе на Паскале, или пе-
рейти к следующему разделу, где описывается работа с программой
на языке Си.
Использование примера программы на языке Си
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Закрашенная стрелка (>) в левом столбце окна Module показы-
вает, где Турбо отладчик остановил выполнение вашей программы.
Если вы еще не запускали свою программу, стрелка находится на ее
первой строке. Для трассировки одной исходной строки программы
нажмите клавишу F7. Стрелка и курсор переместятся при этом на
следующую выполняемую строку.
Посмотрите на правую границу заголовка окна Module (Модуль).
В ней показана строка, в которой находится курсор. Переместите
TDeb 3.0 #1-3 = 74 =
курсор с помощью клавиш управления курсором (стрелки) вверх и
вниз и обратите внимание на изменение номера строки в заголовке.
Примечание: Чтобы позиционировать курсор на строку в
окне Module, нажмите клавиши Ctrl-G, введите номер строки и
нажмите Enter.
Как можно видеть, войдя в меню Run (Выполнение), существует
несколько способов запуска программы на выполнение. Предположим,
к примеру, что вы хотите выполнить программу до строки 39.
Чтобы запустить программу на выполнение, пока она не достиг-
нет строки 39, переместите курсор на эту строку, а затем нажмите
клавишу F4. Теперь, когда курсор находится на строке 39, нажмите
клавишу F7 для выполнения еще одной строки исходного кода. Пос-
кольку выполняемая вами строка представляет собой вызов другой
функции, то стрелка теперь позиционируется на первой строке функ-
ции showargs. Курсор немедленно переходит к строке 151, где нахо-
дится определение showargs.
Продолжайте нажимать клавишу F7, пока вы не выполните функ-
цию showargs и не вернетесь на строку, следующую за вызовом
(строка 40). Вместо этого можно нажать клавиши Alt-F8. При этом
программа остановится, когда текущая функция возвратит управление
(вы также перейдете на строку 40). Эту команду полезно использо-
вать, когда вы не хотите медленно проходить по шагам всю функцию.
TDeb 3.0 #1-3 = 75 =
Если на строке 39 вместо клавиши F7 вы нажмете клавишу F8,
то вместо перехода в функцию вы перейдете сразу к строке 40.
Клавиша F8 аналогична клавише F7, которая выполняет функцию, но
она не выполняет по шагам код функции.
ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
іЁ File Edit View Run Breakpoints Data Options Window Help READYі
іЙН[*]НModule: TCDEMO file: TCDEMO.C 32ННННННННННННННН1Н[ ][ ]»і
іє unsigned int nlines, nwords, wordcount; ^і
іє unsigned long totalcharacters; Іі
іє ±і
іє nlines = 0; ±і
іє nwords = 0; ±і
іє totalcharacters = 0; ±і
іє showargs(argc,argv); ±і
іє> while (readaline() != 0) { ±і
іє wordcount = makeintwords(buffer); ±і
іє nwords += wordcount; ±і
іє totalcharacters += analyzewords(buffer); ±і
іє nlines++; ±і
іє } ±і
іє printstatistics(nlines, nwords, totalcharacters); ±і
іє return(0); ±і
іє } ±і
іє і* Чтобы превратить буфер в список завершающихся нулем ±і
іє слов, удалить пустое место vі
іИ<І±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±>Щі
іЪWatchesДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД2їі
іі іі
іАДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩі
іF1=HelpF2=BkptF3=CloseF4=HereF5=ZoomF6=NextF7=TraceF8=StepF9=R.і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Рис. 3.5 Программа остановилась после возврата из функции
showargs
Чтобы выполнить программу до тех пор, пока не будет достиг-
нуто заданное место, вы можете непосредственно указать функцию
или номер строки, не перемещая на данную строку курсор, а затем
выполнить программу до этой точки. Чтобы задать метку, до которой
вы хотите выполнить программу, нажмите клавиши Alt-F9. Выведется
диалоговое окно. Введите readaline и нажмите клавишу Enter. Прог-
рамма начнет выполнение и остановится в начале функции readaline
(строка 142).
TDeb 3.0 #1-3 = 76 =
Задание точек останова в примере программы на языке Си
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
Другой способ управлять остановкой программы состоит в ис-
пользовании точек останова. Простейший способ задать точки оста-
нова заключается в использовании клавиши F2. Переместите курсор
на строку 44 и нажмите клавишу F2. Турбо отладчик подсвечивает
строку, показывая, что на ней установлена точка останова.
Для переключения (установки и отмены) точек останова в прог-
рамме можно также использовать "мышь". Для этого надо щелкнуть
кнопкой "мыши", находясь в первых двух позициях окна Module (Мо-
дуль).
ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
іЁ File Edit View Run Breakpoints Data Options Window Help READYі
іЙН[*]НModule: TCDEMO file: TCDEMO.C 44ННННННННННННННН1Н[ ][ ]»і
іє unsigned int nlines, nwords, wordcount; ^і
іє unsigned long totalcharacters; Іі
іє ±і
іє nlines = 0; ±і
іє nwords = 0; ±і
іє totalcharacters = 0; ±і
іє showargs(argc,argv); ±і
іє while (readaline() != 0) { ±і
іє wordcount = makeintwords(buffer); ±і
іє nwords += wordcount; ±і
іє totalcharacters += analyzewords(buffer); ±і
іє> nlines++; ±і
іє } ±і
іє printstatistics(nlines, nwords, totalcharacters); ±і
іє return(0); ±і
іє } ±і
іє /* Чтобы превратить буфер в список завершающихся нулем ±і
іє слов, удалить пустое место vі
іИ<І±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±>Щі
іЪWatchesДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД2їі
іі іі
іАДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩі
іF1=HelpF2=BkptF3=CloseF4=HereF5=ZoomF6=NextF7=TraceF8=StepF9=R.і
АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
Рис. 3.6 Точка останова на строке 44
Оперативные клавиши: F1=Help - cправка; F2=Bkpt - точка ос-
танова; F3=Close - закрыть; F4=Here - здесь; F5=Zoom - переключе-
ние окон; F6=Next - дальше; F7=Trace - трассировка; F8=Step -
шаг; F9=Run - выполнить; F10=Menu - меню.
Теперь нажмите клавишу F9 для выполнения вашей программы без
прерывания. Экран переключается в режим экрана программы. Демонс-
трационная программа при этом работает и ждет, пока вы введете
строку текста. Наберите символы abc, пробел, der и нажмите клави-
TDeb 3.0 #1-3 = 77 =
шу Enter. На дисплее вновь появится экран Турбо отладчика, а
стрелка будет позиционирована на строке 44 (Рис. 3.6), где уста-
новлена точка останова, и прекратила свое выполнение программа.
Теперь нажмите клавишу F2, чтобы "выключить" (отменить) точку ос-
танова.
Полное описание точек останова, включая условные и глобаль-
ные точки останова, содержится в Главе 7.
TDeb 3.0 #1-3 = 78 =
Использование окна Watches
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
В окне Watches (Просмотр) в нижней части экрана показываются
значения заданных вами переменных. Например, чтобы увидеть значе-
ние переменной nwords, переместите курсор на имя переменной на
строке 42 и выберите команду Watch (Просмотр) из локального меню
окна Module. Можно использовать также сокращение этой команды.
Для этого нажмите клавиши Alt-F10 для выбора сокращенного вариан-
та, затем нажмите клавиши Ctrl-W (строка состояния). Это сокра-
щенный вариант команды локального меню Alt-F10 W.
Если у вас есть "мышь", то переместитесь на Ctrl-Win в стро-
ке состояния и нажмите кнопку "мыши".
|