Турбо С: руководство пользователя. Часть 1

Турбо С: руководство пользователя. Часть 1 - Стр. 43

Печать PDF
Индекс материала
Турбо С: руководство пользователя. Часть 1
Стр. 2
Стр. 3
Стр. 4
Стр. 5
Стр. 6
Стр. 7
Стр. 8
Стр. 9
Стр. 10
Стр. 11
Стр. 12
Стр. 13
Стр. 14
Стр. 15
Стр. 16
Стр. 17
Стр. 18
Стр. 19
Стр. 20
Стр. 21
Стр. 22
Стр. 23
Стр. 24
Стр. 25
Стр. 26
Стр. 27
Стр. 28
Стр. 29
Стр. 30
Стр. 31
Стр. 32
Стр. 33
Стр. 34
Стр. 35
Стр. 36
Стр. 37
Стр. 38
Стр. 39
Стр. 40
Стр. 41
Стр. 42
Стр. 43
Стр. 44
Стр. 45
Стр. 46
Стр. 47
Стр. 48
Стр. 49
Стр. 50
Стр. 51
Стр. 52
Стр. 53
Стр. 54
Стр. 55
Стр. 56
Стр. 57
Стр. 58
Стр. 59
Стр. 60
Стр. 61
Стр. 62
Стр. 63
Стр. 64
Стр. 65
Стр. 66
Стр. 67
Стр. 68
Стр. 69
Все страницы
     отлаживаться как во встроенном в ТС отладчике,  так и в стандарт-          
     ном отладчике Turbo.                                                       
                                                                                
          Если флаг находится в позиции Автономно,  то программы могут          
     быть отлажены только с помощью отладчика Turbo, хотя могут запус-          
     каться в ТС.  При положении флага "Выключено" программы не  могут          
     быть отлажены по той причине,  что в .EXE файле нет информации по          
     отладке.                                                                   
                                                                                
                                                                                
                                                                                
               Свопинг экрана (Display Swapping)                                
     -----------------------------------------------------------------          
                                                                                
          Debug/Display Swapping ("подкачка" экрана при работе в сеан-          
     се отладки) имеет трехпозиционный флаг, который устанавливается в          
     следующих положениях:  Smart (установлена по  умолчанию);  Always          
     (всегда); None (выключено).                                                
                                                                                
          При запуске своей программы в режиме отладки с установленным          
     по умолчанию флагом в положении Smart, отладчик просматривает ис-          
     полняемый код с тем, чтобы определить, будет код генерировать вы-          
                                                                                
     вод  данных на экран или нет.  Если код выполняет вывод данных на          
     экран (или если он вызывает функцию), то экран заменяется с экра-          
     на редактирования на пользовательский экран на время, достаточное          
     для вывода данных,  затем возвращается  экран  редактирования.  В          
     других случаях свопинга экрана не происходит.                              
                                                                                
          Примечание: Smart,  что дословно означает "сообразительный",          
     не во всех случаях отвечает своему названию:                               
                                                                                
          - этот режим производит замену экрана при вызове любой функ-          
     ции даже в том случае, когда вызываемая функция не выводит данные          
     на экран;                                                                  
                                                                                
          - в некоторых случаях экран редактора может быть модифициро-          
     ван  без  замены.  Например,  когда происходят выдачи на экран во          
     время прерывания работы сервисной программы по таймеру.                    
                                                                                
          При положении флага Always экран будет заменяться, когда бу-          
     дет выполняться оператор.  Вы можете использовать этот режим каж-          
     дый раз,  когда желаете переписать экран редактора вашей работаю-          
     щей программой.                                                            
                                                                                

                         - 353,354 -
                                                                                
          При положении  флага  None отладчик не заменяет экран.  Этот          
     режим мог бы использоваться для отладки сегментов  кода, который,          
     по вашему мнению, не должен выводиться на экран.                           
                                                                                
     Примечание: Если  вы  производите отладку в двухмониторном режиме          
                 (т.е. использовали командную строку ТС /d  ключ),  то          
                 можете  увидеть вывод данных своей программы на одном          
                 мониторе, а экран ТС на другом. Следовательно, ТС ни-          
                 когда  не  заменяет  экранов,  а  потому Debug/Screen          
                 Swapping в этом случае неэффективен.                           
                                                                                
                                                                                
                                                                                
               Регенерация дисплея (Refresh Display)                            
     -----------------------------------------------------------------          
                                                                                
          Если экран редактора ошибочно переписан, вы можете использо-          
     вать эту опцию для восстановления предудыщего содержания.                  
                                                                                
                                                                                
                                                                                
               Меню прерываний/слежения (Break/Watch Menu)                      
                                                                                
     -----------------------------------------------------------------          
                                                                                
          Меню включает в себя команды, управляющие точками прерывания          
     и контрольными (следящими) выражениями.                                    
                                                                                
          Точка прерывания представляет собой то  место  в  программе,          
     где  происходит ее останов с тем,  чтобы дать вам время проверить          
     значение критических переменных и выражений.  Это нужно для того,          
     чтобы вы могли убедиться, что ваша программа работает так как на-          
     до.                                                                        
                                                                                
          Контрольная точка обозначается подсветкой контрольной точки.          
     Когда программа останавливается на точке прерывания,  то ее подс-          
     ветка становится незаметной из-за полосы выполнения, но снова по-          
     является, когда полоса выполнения начинает двигаться.                      
                                                                                
          Контрольное выражение представляет собой выражение, чье зна-          
     чение отображается в окне Watch. При останове программы контроль-          
     ное значение перевычисляется. Правила ввода правильного контроль-          
     ного     выражения     аналогичны     правилам     Debug/Evaluate          
     (отладки/оценки)  за исключением того,  что контрольное выражение          
     может не содержать побочных эффектов типа i++. Символы конверсно-          

                         - 355,356 -
                                                                                
                                                                                

     го  типа,  а также повторный счет могут быть использованы в конт-          
     рольных выражениях также, как и в Debug/Evaluate. Например:                
                                                                                
              i,x                                                               
                                                                                
     отображает содержание целого числа i в шестнадцатиричном формате.          
                                                                                
          Если вы  желаете  ввести  дополнительные  выражения  в  окно          
     Watch,  то можете увеличить его до максимальных  размеров  (около          
     половины  экрана) с помощью опции изменения размеров окон сервис-          
     ной программы TCINST.  Если вы вводите большее количество выраже-          
     ний, чем может поместиться в окне, то некоторые выражения исчеза-          
     ют из окна.  Для их просмотра в окне Watch  используются  клавиши          
     "Страница  вверх",  "Страница  вниз",  "Стрелка вверх",  "Стрелка          
     вниз".                                                                     
                                                                                
          Текущее контрольное выражение в окне Watch выделяется в слу-          
     чае, если окно Watch активно - полосой подсветки, если окно Watch          
     не активно - знаком "пуля" () в левой колонке.                             
                                                                                
                                                                                
                                                                                
     ЙДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД»          
     є  Files Edit  Run  Compile Project Options Debug є Break/watch є          
     єДДДДДДДДДДДДДДДДДДДДДДДДД  Edit  ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДє          
                                 АДДДДДЩ            є                           
     є Line 1 Col 1 Insert Indent Tab Fill  єAdd watch         CtrlF7є          
     є                                      єДДДДДДДДДДДДДДДДДДДДДДДДє          
     є                                      єDelete watch            є          
     є                                      єEdit watch              є          
     є                                      єRemove all watches      є          
     є                                      є                        є          
     є                                      єToogle breakpoint CtrlF8є          
     є                                      єClear all breakpoints   є          
     є                                      єView next breakpoints   є          
     є                                      АДДДДДДДДДДДДДДДДДДДДДДДДє          
     є                                                               є          
     ННННННННННННННННННННННННННН Watch НННННННННННННННННННННННННННННН           
     є                                                               є          
     єAlt: F1-Last help F3-Pick F6-Swap F7/F8-Prv/Next err F9-Compileє          
     АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ          
                                                                                
                    Рисунок 5.23. Меню Break/Watch.                             
                                                                                

                         - 357,358 -
                                                                                
                                                                                
                                                                                
               Команда "Add Watch"                                              
     -----------------------------------------------------------------          
                                                                                
          Эта команда  позволяет  вывести контрольное выражение в окно          
     Watch.  При выборе вами этой команды отладчик  открывает  окно  в          
     верхней  части  экрана и запрашивает ввод контрольного выражения.          
     Текущим выражением является слово,  на котором стоит курсор в эк-          
     ране редактирования. После того, как вы наберете правильное выра-          
     жение,  нажмите Ввод.  Отладчик добавит выражение и  его  текущее          
     значение в окно Watch.                                                     
                                                                                
          "Горячим ключом"  для  этой команды является Ctrl-F7.  Кроме          
     того,  если окно Watch активно,  то вы можете ввести новое  конт-          
     рольное выражение, нажав на Ins (Вст), либо Ctrl-N.                        
                                                                                
                                                                                
                                                                                
               Стирание контрольных выражений (Delete Watch)                    
     -----------------------------------------------------------------          
                                                                                
                                                                                
          Эта команда стирает контрольные выражения из окна Watch. Для          
     того,  чтобы вы могли использовать эту команду,  вы должны видеть          
     окно Watch,  т.е. в этом случае окно редактирования не может быть          
     раскрыто на весь экран дисплея.  Если вы находитесь в окне Watch,          
     то текущее контрольное выражение обозначается  полосой подсветки,          
     если вы находитесь в экране Edit, то оно обозначается знаком "пу-          
     ли" () с левой стороны.                                                    
                                                                                
          Для стирания контрольного выражения, отмеченного знаком "пу-          
     ли", выберите Break/Watch/Delete Watch, если вы находитесь в окне          
     Edit.  Для стирания контрольного выражения,  не являющегося теку-          
     щим,  вы должны выйти в окно Watch,  переместить полосу подсветки          
     на необходимое выражение и нажать либо Del, либо Ctrl-Y.                   
                                                                                
                                                                                
                                                                                
               Редактирование контрольных выражений (Edit Watch)                
     -----------------------------------------------------------------          
                                                                                
          Эта команда  позволяет вам редактировать текущее контрольное          
     выражение в окне Watch.                                                    
                                                                                

                         - 359,360 -
                                                                                
          Когда вы выбираете Break/Watch (Edit Watch), отладчик откры-          
     вает всплывающее окно, содержащее копию текущего контрольного вы-          
     ражения.  Отредактировав его,  нажмите Ввод;  Отладчик произведет          
     замену прежнего варианта контрольного выражения на новый отредак-          
     тированный вариант. Вы можете также редактировать контрольное вы-          
     ражение из окна Watch путем перемещения полосы подсветки на необ-          
     ходимое выражение и нажатия клавиши Ввод.