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

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

Печать 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
Все страницы
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                

                         - 185,186 -
                                                                                
               Упражнение 3: возвращение к программе                            
     -----------------------------------------------------------------          
                                                                                
          Давайте проверим, исправили ли вы ошибку.                             
                                                                                
          Если  вы  вышли из  интегрированой  среды или  решали другие          
     программы после упражнения 2,  запустите ее снова и создайте файл          
     WORDCNT.PRJ с текущим проектом.  Выберите Run/Run и начните новый          
     сеанс отладки. Выполните WORDCNT сначала до вызова wordlen, трас-          
     сируя ее шаг за шагом.  На этот раз она работает корректно и зна-          
     чение, возвращаемое функцией wordlen, равно 2. Это успех!                  
                                                                                
          Однако ваша работа не завершена. Большая часть программы еще          
     не проверена и может иметь другие ошибки.  На следующем этапе  вы          
     должны провести тестирование внутреннего цикла while в main.  Бо-          
     лее полный подход к тестированию включает в себя пошаговое выпол-          
     нение main до тех пор,  пока не будет отработана первая введенная          
     строка, и проверку на выход из цикла. Проверьте, чтобы каждый шаг          
     правильно  выполнялся и выход из цикла выполнялся в нужной точке.          
                                                                                
          Но контроль всех выражений - большая работа.  Окно Watch от-          
     ладчика позволяет это сделать довольно легко.  В окне Watch выво-          
                                                                                
     дится  одно  или более выражений и их текущие значения.  Во время          
     каждого останова отладчик производит пересчет каждого выражения в          
     окне Watch.  Таким образом вы можете наблюдать изменение значений          
     выражений во время решения вашей программы.                                
                                                                                
          Создайте выражения для всех  элементов  данных,  входящих  в          
     внутренний  цикл  while (переменная  i,  строка,  начинающаяся с           
     wordptr и несколько первых элементов wordlencnt).                          
                                                                                
          Окно Watch обычно размещается в нижней части экрана, там же,          
     где  находится окно Message во время компиляции и редактирования.          
     Оно инициализирует одну яркую пустую строку.  Если окно Watch не-          
     видимо,  то  это  потому,  что окно Edit расширено на весь экран;          
     нажмите F5 и отладчик вернется в полиэкранный режим и  окно Watch          
     восстановится.                                                             
                                                                                
          Выберите Break/Watch/Add Watch (или комбинацию Ctrl-F7). От-          
     ладчик откроет окно и выдаст запрос на  ввод  выражения.  Подобно          
     Debug/Evaluate, Break/Watch/Add Watch использует по умолчанию вы-          
     ражение,  у которого стоит курсор в окне Edit.  Если выражение  в          
     окне  не i,  введите i и нажмите Ввод.  Отладчик вычислит текущее          
     значение i и выведет его в окне Watch.                                     

                         - 187,188 -
                                                                                
                                                                                
                                                                                
          Повторите эту  процедуру  для  пяти  выражений:  wordptr   и          
     wordlencnt[1]...wordlencnt[4]. После ввода каждого выражения окно          
     Watch будет вырастать и приспосабливаться к нему. Теперь пошагово          
     выполните цикл while WORDCNT до тех пор, пока не будет обработана          
     первая введенная строка. Как только начнете, вы сможете наблюдать          
     продвижение вперед wordptr и увеличение соответствующего элемента          
     wordlencnt.  Остановитесь, когда wordptr достигнет конца строки и          
     маркер выполнения выйдет из внутреннего цикла while. Цикл работа-          
     ет правильно.                                                              
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
              Редактирование и уничтожение выражений                            
              --------------------------------------                            
                                                                                
          Вы можете редактировать и уничтожать выражения в окне Watch,          
     также как и добавлять их.                                                  
                                                                                
          Для того,  чтобы отредактировать или уничтожить выражения  -          
     активизируйте окно Watch.  Если вы находитесь в меню системы,  то          
     нажмите F10 и выйдите из него.  Нажмите F6, чтобы переключиться с          
     окна Edit на окно Watch.  Редактор высветит выражение, которое вы          

     можете изменить или уничтожить;  перемещение поля  выполняется  с          
     помощью клавиш управления курсором.                                        
                                                                                
          Попробуйте изменить выражение. Для этого переместите поле на          
     wordlencnt[4] и выберите Break/Watch/Edit Watch (или  Ввод).  От-          
     ладчик откроет окно,  содержащее выражение и запрос на его редак-          
     тирование.                                                                 
                                                                                
          Измените индекс  массива с 4  на 6  и нажмите Ввод. Отладчик          
     изменит выражение в окне WINDOW и выведет его новое значение.              
                                                                                
          Переместите поле на выражение wordlencnt[3] и выберите Break          

                         - 189,190 -
                                                                                
                                                                                
     /WATCN/Delete Watch (или Del, или Ctrl-Y). Отладчик уничтожит вы-          
     ражение.                                                                   
                                                                                
          Нажмите F6  для активизации окна Edit.  Заметьте,  что когда          
     окно Watch разактивизируется,  перед выражением, помеченным повы-          
     шенной  яркостью,  появляется  символ "бриллиант формы" (код F0).          
     Для того, чтобы активизировать окно Watch, нажмите F6.                     
                                                                                
          Вы   можете    уничтожить    все    выражения    с   помощью          
     Break/Watch/Remove All Watches. (Для этого окно Watch должно быть          
     активно). Сейчас уничтожьте все  видимые  выражения.  Окно  Watch          
     возвратится в свое исходное состояние.  Для активизации окна Edit          
     нажмите F6. С помощью этой команды вы можете переключаться с окна          
     Edit на окно Watch, или наоборот.                                          
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
               Расширение и переключение окон                                   
               ------------------------------                                   
                                                                                
          Правила расширения и переключения окон в отладчике расширены          
     по  сравнению с правилами,  которые вы  уже изучили при  работе с          
     редактором, компилятором и компановщиком.                                  
                                                                                
          Работа с окнами Watch и Edit выполняется в полиэкранном  ре-          
     жиме,  подобно тому,  как это делается при работе с окнами Edit и          
     Message при компиляции и редактировании.                                   
                                                                                
          Для того, чтобы произвести переключение между двумя окнами -          
     Edit и Message или Edit и Watch, - нажмите F6.                             
                                                                                
          Чтобы расширить окно  до  полного экрана  -  нажмите F8. Для          
     возврата в полиэкранный режим нажмите F5.  Попробуйте это сделать          
     с окнами Edit и Watch.                                                     
                                                                                
          Для вывода  экрана  выполнения  выберите Run/User Screen или          
     Alt-F5. Попробуйте это.                                                    
                                                                                
          Используйте Alt-F6 для изменения содержимого окна:                    

                         - 191,192 -
                                                                                
                                                                                
                                                                                
          # когда активно окно Edit, загруженный файл перезагружается           
                                                                                
          # если активно окно Watch или Message, то нажатие Alt-F6 яв-          
            ляется переключателем  между  окном  Watch и окном Message          
            tracking.                                                           
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
               Прокрутка выражений в окне Watch                                 
               ---------------------------------                                
                                                                                
          При добавлении выражений в окно Watch может возникнуть ситу-          
     ация,  когда окно займет около половины экрана.  И при добавлении          
     выражений в этом случае возникает прокрутка содержимого окна. Уп-          
     равление содержимым окна выполняется с помощью клавиш PgUp, PgDn,          
     стрелка вверх  и стрелка вниз.  Если выражение очень длинное и не          
     помещается в окно,  то вы можете  воспользоваться  горизонтальной          
     прокруткой с  помощью ключей Home,  End,  стрелка влево и стрелка          
     вправо (этим средством можно пользоваться и при просмотре длинных          
     значений выражения).                                                       
                                                                                
                                                                                
                                                                                
               Упражнение 4: отладка цикла печати                               
     -----------------------------------------------------------------