BIGLIB
  большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно
 
АСТРОЛОГИЯ
  книги по астрологии
 
КРИМИНАЛ
  книги про криминал
 
ДЕТЕКТИВЫ
  детективы известных
   писателей
 
ФАНТАСТИКА
  фентези, фантастика,   фантастические повести
 
ПРИКЛЮЧЕНИЯ
  книги про приключения,   путешествия
 
ПОЛИТИКА
  книги про политиков,   репрессии
 
ПСИХОЛОГИЯ
  разнообразная литература   по психологии
 
КЛАССИКА
  классическая литература
 
КОМПЬЮТЕРНАЯ
  ЛИТЕРАТУРА
  про компютерное железо,   документация, языки   программирования
 
РЕЛИГИЯ, АТЕИЗМ
  книги про религию
 
ФИЛОСОФИЯ
  книги, которые заставляют   задуматься над   окружающим тебя миром.
 
ЭНЦИКЛОПЕДИИ
  самые интересные   энциклопедии на
   разные темы
 
МЕДИЦИНА
  медицинские книги,   методички,
   народные лечебники
 
КУЛИНАРИЯ
  рецепты тортов,   консервирование,
  все о спиртных
  напитках.
 
СТИХИ
  стихи популярных и не   очень авторов
 
ТВОРЧЕСТВО
  народное творчество,   стихи, песни и т.д.
 
ЮМОР
  анекдоты, приколы,   смешные истории
 
ЛЮБОВНЫЙ РОМАН
  мир высоких чувств и   любовных грез
 
ЭРОТИКА
  эротические рассказы,   книги о технике секса,   кама-сутра и др.




adfun.ru
Rambler's Top100 Rambler's Top100
    НА ГЛАВНУЮ
    РЕФЕРАТЫ
    ТОСТЫ
    ТЕСТЫ
    АВТО
    ДЛЯ СТУДЕНТА
    КНИГИ
    КОНТАКТ
 
Турбо С: руководство пользователя. Часть 1
Автор ""
Размер 993495 Байт
Страница 24 из 69
СКАЧАТЬ КНИГУ ЦЕЛИКОМ

                                                                                
          Вы отладили цикл while,  который  считывает  и  обрабатывает          
     входной  файл.  В  этом цикле есть несколько мест,  где вас могут          
     ожидать ошибки,  и для того,  чтобы их найти вам нужно  чтобы  на          
     входе WORDCNT чувствовал специфичные типы,  например,  такие, как          

                         - 193,194 -
                                                                                
     пустые строки.  Однако, мы отложим поиск таких ошибок и приступим          
     к проверке цикла for, который выводит результаты.                          
                                                                                
          Вам необходимо выполнить WORDCNT до строки,  содержащей цикл          
     for  (приблизительно  117   строка).   Как  вам  известно,  можно          
     переместить курсор в эту строку,  установить контрольную  точку и          
     выбрать  опцию Run/Run.  Но  сейчас  мы  будем использовать более          
     удобную технику,  если вы предполагаете  останавливаться только в          
     определенных точках.                                                       
                                                                                
          Переместите курсор к строке,  в которой начинается цикл for,          
     и выберите Run/Go to Cursor (или F4). Отладчик выполнит WORDCNT и          
     остановится в той строке,  где находится курсор.  (Останов  может          
     произойти  раньше в контрольной точке,  но в этой части программы          
     они не устанавливались).                                                   
                                                                                
          Выполните один  оператор,  шкала  выполнения переместится на          
     оператор printf цикла for. Заметим, что в цикле for нет контроль-          
     ной точки.  Run/Go to Cursor является одноразовой операцией;  она          
     не устанавливает контрольную точку.                                        
                                                                                
          Начните пошаговое выполнение  цикла for с  помощью Run/Trace          
                                                                                
     Into.  Обратите внимание,  что Run/Trace Into трассировку функции          
     printf не выполняет. Это происходит потому, что функция printf не          
     определена в исходном файле.  Отладчик может только выполнять та-          
     кие функции, но не может их трассировать. (В этом случае нет дру-          
     гого выхода, трассировка этой функции невозможна: исходного текс-          
     та функции printf в вашем файле нет).                                      
                                                                                
          Каждый раз,  когда  вы  выполняете строку,  содержащую вызов          
     printf, отладчик открывает экран выполнения (Execution).  На него          
     будет выводиться текст, выводимый printf. Отладчик сохранит экран          
     выполнения до тех пор,  пока будет выполняться оператор, содержа-          
     щий функцию printf.                                                        
                                                                                
          Вы вероятно не сможете прочитать вывод программы в столь ко-          
     роткий промежуток времени,  пока экран выполнения виден, но с по-          
     мощью  Run/User  Screen (или Alt-F5) можно перейти в режим экрана          
     пользователя и наблюдать работу WORDCNT.                                   
                                                                                
          Замечание: С другой стороны,  если заметить, что вывод прог-          
     раммы переписывается в ваш исходный текст в окно Edit,  то вы мо-          
     жете избавиться от этого,  выбрав Debug/Refresh Display для реге-          
     нерации экрана. Затем проконтролируйте, чтобы опция Debug/Display          

                         - 195,196 -
                                                                                
                                                                                
     Swapping  была  установлена в состояние Smart или Always.                  
                                                                                
          (Более полная информация об  этой  опции  рассматривается  в          
     Главе 5).                                                                  
                                                                                
          На этом четвертое упражнение заканчивается. Мы покидаем вас,          
     а вы можете поискать ошибки в цикле for, и если их обнаружите, то          
     исправьте.                                                                 
                                                                                
          Замечание: Мы обещали,  что WORDCNT содержит несколько  оши-          
     бок. Вы нашли их?  Каждая из них упоминается в разделе  "Алгоритм          
     для  эффективного тестирования программного обеспечения",  приве-          
     денного в конце этой главы.                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
               Упражнение 5: работа с большими программами                      
     -----------------------------------------------------------------          
                                                                                
          Отладчик имеет несколько дополнительных возможностей,  помо-          
     гающих вам при работе с большими исходными текстами и многофайло-          
     выми программами. В следующем разделе мы продемонстрируем их. Для          
     того, чтобы использовать одну из них, вы должны компилировать ва-          
     шу программу с включенной опцией Options/Compiler/Code Generation          
     /Standard Stack Frame.  Проверьте эту опцию.  Если она выключена,          
     то включите ее, затем убедитесь, что WORDCNT загружен в окно Edit          
     и перекомпилируйте, нажав Alt-F9. Начните сеанс отладки с помощью          
     Run/Step Over или, нажав F8.                                               
                                                                                
                                                                                
                                                                                
               Поиск определенной функции                                       
              ---------------------------                                       
                                                                                





Debug/Find Function выполняет прокрутку описаний функций в окне Edit. Она поможет найти некоторую функцию в программе, кото- рую можно откомпилировать с флагом Debug/Source Debugging и O/O/C /OBJ Debugging Information в состояние On. - 197,198 - Debug/Find Function полезна в том случае, если введенная ва- ми ошибка в одной части программы, должна быть исправлена с по- мощью изменений в других частях. Для проверки этой команды, переместите курсор в небезизвестную вам строку, содержащую вызов wordlen. Выберите Run/Go to Cursor. Затем переместите курсор на wordlen и выберите Debug/Find Function. Отладчик откроет окно и выдаст приглашение для ввода имени функции; так как wordlen это функция, которую мы хотели найти, то вводите ее имя, и нажмите Ввод. Отладчик выведет описание функции в окне Edit. Стек вызова ----------- Когда вы отлаживаете программу, содержащую вызовы функций различных уровней, вам иногда будет нужно просмотреть стек вызо- ва, который содержит имена вызывавшихся функций в порядке их вы- полнения. Для этой возможности необходимо включить опцию Options/ Compiler/Code Generation/Standard Stack Frame. Войдите в wordlen, затем выберите Debug/Call Stack (или Ctrl -F3). Отладчик выведет стек вызова во всплывающем окне. Функция, выполняемая в данный момент, будет находиться в вершине стека, а на дне стека будет main. Заметьте, что в стек выводятся не только имена функций, но и значения их параметров. Для того, чтобы посмотреть, какая строка выполняется, вам необходимо переместить светящееся поле в окне стека на имя функ- ции и нажать Ввод. Например, для того, чтобы узнать, какая строка main выполняется в данный момент, переместите поле в окне стека на main и нажмите Ввод. Отладчик прокрутит часть main и выведет строку, содержащую вызов wordlen в окне Edit. Если имеются допол- нительные точки входа стека вызова, то вы можете вывести выполня- ющуюся строку любой другой функции, выбрав Debug/Call Stack снова и другую точку входа стека. Возврат в позицию выполнения ---------------------------- - 199,200 - Вы можете также использовать опцию Debug/Call Stack для возврата к маркеру выполнения после просмотра других частей прог- раммы. Для этого необходимо выбрать самую верхнюю функцию стека вызова. Попробуйте. На этом упражнения с отладчиком заканчиваются. О многофайловых исходных текстах ----------------------------------------------------------------- Все команды отладчика работают с программами, состоящими из нескольких файлов. Например, если вы выбрали Debug/Find Function для того, чтобы найти функцию, которая описана в другом файле, отладчик загрузит трубуемый файл в окно Edit. Если захотите сде- лать изменения текущего файла, отладчик спросит хотите ли вы сох- ранить файл, который был загружен предыдущим. Подобно этому, когда вы выбираете функцию из стека вызова (используя Debug/Call Stack), отладчик перезагружает окно Edit. Точно так же отладчик дает запрос на сохранение. Если программа состоит из большого количества файлов, то одновременно отлаживать лучше только несколько. - 201,202 -


Страницы : 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


adfun.ru









Форум раскрутка сайта и интернет-реклама
реклама - рекламное агентство -
Интернет PR агентство чат и форум
волчат знакомства - сайт знакомств
бесплатные компьютерные игры
фото знакомства
новые стеклопакеты -
качественное остекление балконов
портал - пластиковые окна -
закажите окна пвх в Москве

частная стоматология в Москве:
надежная стоматологическая клиника
протезирование зубов и
отбеливание зубов в стоматологии
Музыка - скачать mp3 музыка
каталог партнерские программы
ручной бесплатный обмен ссылками цифровые камеры цифровые фотоаппараты -
цифровые видеокамеры

театры - заказ билетов в театр -
магазин - продажа компьютеров
в Москве форум Испания - жилье -
недвижимость в испании

турфирма - испания туры
Переводы - бюро переводов
Законы - закон о товарных знаках,
Грузовые перевозки. АсМАП. Дальнобой закон о рекламе
Интернет казино
реклама на форуме и контекстная реклама
на Яндексе Баннерная сеть и
интернет каталог сайтов Holiday.Ru
Форумы политика, лучшие анекдоты
знакомства.