Турбо отладчик (Turbo Debugger) 3.0

wordcounts будет обновлен для подсчета


       wordcounts будет обновлен для подсчета слов.  Далее все  отлично.
       Нажмите снова F9, чтобы начать обработку следующего слова в буфе-
       ре. Ага! Что-то не так.
            Вы ожидаете,  что программа остановится снова на  строке  93
       (на  точке останова) для обработки другого символа.  Но она этого
       не делает.  Она выполняется дальше  и  возвращается  из  функции.
       Единственным  путем оказаться на строке 99 является истинное зна-
       чение проверяемого в цикле  while  значения.  Это  означает,  что
       *bufp  !=  0  должно  при  вычислении  получать  ложное  значение
       (false).
            Чтобы проверить это,  переместитесь к строке 83  и  отметьте
       все  выражение *bufp != 0,  поместив курсор под *,  нажав клавишу
       Ins,  и переместив курсор на завершающий 0 перед ). Теперь вычис-


       лите это  выражение,  открыв диалоговое окно Data¦Evaluate/Modify
       (Данные¦Вычисление/Модификация) и нажав клавишу  Enter,  а  затем
       выбрав переключатель Eval (Вычисление),  чтобы отмеченное выраже-
       ние было воспринято. Значение в самом деле равно 0. Нажмите дваж-
       ды клавишу Esc для возврата в окно Module (Модуль).
                                   Эврика!
       -----------------------------------------------------------------
            Теперь, чтобы обнаружить ошибку,  нужно сделать некий анали-
       тический скачок. Причина того, что bufp указывает на 0, состоит в
       том, что внутренний цикл while, начинающийся на строке 86, остав-
       ляет его в конце слова.  Для продолжения на  следующем  слове  вы
       должны  увеличить  bufp  и переместить его с 0,  который завершал

       TDeb 3.0 #2-3               = 152 =
       предыдущее слово.  Для этого перед строкой 97 нужно добавить опе-
       ратор "bufp++". Вы можете перекомпилировать свою программу с этим
       оператором, однако Турбо отладчик позволяет вам "вставлять" выра-
       жения, используя для этого особый вид точек останова.

Содержание раздела