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




adfun.ru
Rambler's Top100 Rambler's Top100
    НА ГЛАВНУЮ
    РЕФЕРАТЫ
    ТОСТЫ
    ТЕСТЫ
    АВТО
    ДЛЯ СТУДЕНТА
    КНИГИ
    КОНТАКТ
 
Turbo Debugger 3.0 #2-3
Автор ""
Размер 408406 Байт
Страница 36 из 40
СКАЧАТЬ КНИГУ ЦЕЛИКОМ

               Alt-F10.

            3. Выберите  команду  Set  Option (Установить параметры) для
               открытия диалогового окна Breakpoint  Options  (Параметры
               точки останова.

            4. Установите селективный переключатель Action  (Действие) в
               значение Execute (Выполнение).

            5. Для вывода подсказки Action Expression  (Выражение  дейс-
               твия) нажмите клавишу Tab.

            6. Введите bufp++ в ответ на подсказку.

            7. Нажмите  клавишу  Esc,  чтобы закрыть диалоговое окно,  и
               клавиши Alt-F3 для возврата в окно Module (Модуль).

            Теперь запустите программу,  нажав клавишу F9.  Введите  две
       входных строки:

               one two three
               four five six

            В ответ на третью подсказку нажмите клавишу Enter,  а  когда
       программа завершит работу,  нажмите клавиши Alt-F5, чтобы увидеть
       ее экран (экран пользователя).

            Вы можете заметить, что ситуация существенно улучшилась. Об-
       щее число строк и слов выглядит неверным,  но таблица  правильна.
       Остановитесь на начале подпрограммы printstatistics и посмотрите,
       передается ли ей для вывода корректное значение. Для этого снача-
       ла  перезагрузите программу (чтобы начать проверку заново), нажав
       клавиши Ctrl-F2.  Затем  перейдите к строке 104 и нажмите клавишу
       F4,  чтобы выполнить программу до этой строки. Переместите курсор
       на  аргумент nlines и нажмите Alt-F10 I,  чтобы посмотреть на его

       TDeb 3.0 #2-3               = 153 =

       значение.  Вы видите значение 6, хотя должно быть значение 2.

            Теперь вернитесь назад,  туда,  где эта подпрограмма вызыва-
       лась из основной программы, и посмотрите на значение nlines (чис-
       ло строк) там.  Переместите курсор на строку 36 и  поместите  его
       под nlines.  Нажмите клавиши Alt-F10 I для вывода его значения. В
       основной программе значение nlines равно 2, а это правильно. Если
       вы перейдете в них к строке 46,  то увидите,  что два аргумента -
       nwords и nlines - переставлены местами. Компилятор здесь не может
       определить,  какой именно порядок вы имели в виду.  Он использует
       то, что указано.

            Если вы исправите эти две ошибки,  программа будет  работать
       правильно.  Если  вы достаточно любопытны,  то можете попробовать
       запустить исправленную версию программы BCDEMO.EXE.


             Сеанс отладки с использованием программы на Паскале
       ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

            Остальная часть  данной главы посвящена описанию примера се-
       анса отладки программы,  написанной на Турбо Паскале. Если вы ра-
       ботаете с Borland C++, то просмотрите предыдущие разделы, в кото-
       рых описывается сеанс отладки программы на языке Си.




       TDeb 3.0 #2-3               = 154 =

                                Поиск ошибок
       ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД

            Перед началом сеанса отладки давайте запустим демонстрацион-
       ную программу на Паскале,  в которой содержится ошибка, и посмот-
       рим,  что она делает неверно.  Скомпилированная версия этой прог-
       раммы уже содержится на дистрибутивном диске.

            Для запуска  программы  наберите ее имя и передайте ей в ко-
       мандной строке три аргумента:

               TPDEMOB first second third

            Вам будет выведена подсказка для ввода строк текста. Введите
       две строки текста следующим образом:

               ABC DEF GHI
               abc def ghi

            Ввод завершает последняя пустая строка.  После этого TPDEMOB
       выводит анализ введенного текста:

        9 letter(s) in 3 words in 2 lines(s)                         (1)
        Average of 0.67 words per line                               (2)

        Word length:   1  2  3  4  5  6  7  8  9  10                 (3)
        Frequency:     0  0  3  0  0  0  0  0  0  0                  (4)

        Letter:        M                                             (5)





Frequency: 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 (6) Word starts: 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 (7) Letter: Z Frequency: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Word starts: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Program name: C:\td\tpdemob.exe (8) Command line parameters: firs# secon% third (9) 1 - 9 букв в 3 словах; 2 - в среднем 0.67 слов на строке; 3 - длина слова; 4 - частота; 5 - буква; 6 - частота; 7 - начинает слово; 8 - имя программы; 9 - параметры командной строки. В этой выходной информации содержится пять различных ошибок: 1. Число слов сообщается неверно (3 вместо 6). 2. Число слов на строку неверно (0.67 вместо 3). 3. В заголовках второй и третьей таблиц выводится только по одной букве (вместо A..M, N..Z). 4. Вы ввели две строки, каждая из которых содержит буквы от TDeb 3.0 #2-3 = 155 = A до I, но в таблицах частоты букв показан только счетчик со значение 1 для этих букв. 5. Последний символ каждого параметра командной строки был потерян, и на экран выводится случайный символ (хотя па- раметры введены правильно). Выбор стратегии поиска ошибок ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Первая задача состоит в том, чтобы решить с какой из ошибок разбираться в первую очередь. Здесь можно предложить хорошее пра- вило: начинайте с той ошибки, которая появилась первой. В данной программе, после того, как данные инициализируются процедурой Init, ввод с клавиатуры считывается функцией GetLine, а затем об- рабатывается процедурой ProcessLine, пока пользователь не введет пустую строку. ProcessLine просматривает каждую строку ввода и обновляет глобальные счетчики. После этого процедурой ShowResults выводятся результаты. Наконец, полностью независимая подпрограм- ма - процедура ParmsOnHeap - строит связанный список параметров командной строки в динамически распределяемой области памяти, а затем выводит этот список в конце программы. Среднее число слов на строку вычисляется процедурой ShowResults на основе числа строки и слов. Так как значение счет- чика неверно, очевидно стоит взглянуть на процедуру ProcessLine и посмотреть, как изменяется значение переменной NumWords (число слов). Даже если значение NumWords верно, число 0.67 слов на строку не имеет смысла. Тогда ошибка возможно содержится в вычис- лениях процедуры ShowResults, на что также стоит обратить внима- ние. Заголовки для всех таблиц выводятся в результате обращения к процедуре ShowResults. Перед отслеживанием второй и третьей ошиб- ки следует подождать завершения работы основного цикла. Так как счетчики слов и букв содержат неверные значения, вероятно что-то упущено в процедуре ProcessLine (это относиться к первой и чет- вертой ошибке). Наконец, когда вы закончите исследовать части программы, от- носящиеся к работе со счетчиками слов и букв, для поиска и исп- равления последней (пятой) ошибки займитесь процедурой ParmsOnHeap. Теперь, после того, как обдумали проблему и наметили план ее решения, пришло время непосредственно начать отладку. Запуск Турбо отладчика ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД Для того, чтобы начать отладку нашего примера, загрузите от- ладчик и укажите те же параметры командной строки: TDeb 3.0 #2-3 = 156 = TD TPDEMOB first second third Турбо отладчик загрузит версию демонстрационной программы, содержащую ошибку, и выведет начальный экран, меню и т.д. Если вы хотите выйти из сеанса отладки и вернуться в DOS, нажмите клавиши Alt-X (это можно сделать в любой момент). Если вы безнадежно "заблудились", можно в любое время перезагрузить демонстрационную программу, нажав клавиши Ctrl-F2, и начать сначала (при этом точ- ки останова и выражения просмотра очищены не будут). Для отладки таких подпрограмм, как ProcessLine, можно пред- ложить два подхода. Вы можете либо выполнять ее построчно (по ша- гам), убедившись, что она все делает правильно, либо остановить программу непосредственно после выполнения процедуры ProcessLine и посмотреть, верны ли результаты. Так как оба счетчика содержат неверные значения, лучше внимательно проанализировать процедуру ProcessLine и посмотреть, как обрабатываются символы.


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


adfun.ru









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

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

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

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