Программирование на языке высокого уровня. Марапулец Ю.В. - 185 стр.

UptoLike

Составители: 

можность выполнить команду Calculate -> Calculate Average. В результате код метода
OnCalculateCalculateAverage() выполняется до строки, на которой установлена точка
прерывания. Далее программа останавливается и отображает в окне Visual C++ код ме-
тода. Следует обратить внимание, что в Visual C++ меню Build заменилось на Debug.
Среди различных команд этого меню особый интерес представляют команды Step lnto
(F11), Step Over (F10), Step Out (Shift+F11) и Run To Cursor (Ctrl+F10). Они соответству-
ют различным способам выполнения программы, предусмотренным в режиме отладки
Visual C++.
Во время отладки программ на Visual C++ часто встречаются строки с вызовами
различных методов (например, PerformWork(data)). Если продолжить пошаговое выпол-
нение программы с такой строки, то осуществится переход к коду вызываемого метода
(например, PerformWork(), который может быть достаточно длинным). Это означает, что
для возврата к отлаживаемому фрагменту необходимо пройти через весь код метода. Ес-
ли необходимо пропустить данный код, воспользуйтесь клавишей F10. Для прохода че-
рез код вызываемого метода, пользуйтесь клавишей F11. Если вы окажетесь внутри вы-
званного метода или другого блока, который не хотите отлаживать, можете выйти за его
пределы, нажав клавиши Shift+F11. Существует и другая возможность - установить кур-
сор в некоторой точке программы за текущей выполняемой строкой и нажать клавиши
Ctrl+F10, что приведет к выполнению кода до строки с курсором. В нашем примере для
пошагового выполнения программы будет использоваться клавиша F10. Нажмите F10
один раз, чтобы перейти к следующей строке программы. Текущей становится следую-
щая строка программы. Именно в ней происходит суммирование чисел для получения
накапливаемой суммы в переменной Sum. Чтобы выполнить текущую строку, обновить
значение суммы и перейти к следующей строке, еще раз нажмите клавишу F10. К пере-
менной Sum прибавлено первое целое число, значение которой можно проверить и убе-
диться, что все идет нормально.
Чтобы узнать значение переменной Sum (в которой должно храниться первое це-
лое число = 1), задержите над ней указатель мыши. Рядом с именем переменной на экра-
не появляется подсказка со значением отличающимся от необходимого числа. Похоже,
проблема найдена. Помимо экранной подсказки, переменная Sum со своим значением
отображается в окне Auto, расположенном в левом нижнем углу. В этом окне приведены
значения последних переменных, с которыми работал Visual C++; среди них есть и наша
переменная Sum. Кроме того, вы можете щелкнуть на корешке Locals и перейти к одно-
именному окну, содержащему значения всех переменных (включая Sum), определенных
в текущем методе или фрагменте кода. Если же вы хотите отслеживать значение кон-
кретной переменной во время всего выполнения программы, введите ее имя в окне
Watch, расположенном в правом нижнем углу окна Visual C++ Кроме того, нужную пе-
ременную можно просто перетащить мышью в окно Watch.
Просмотр программы показывает, что не обнулено начальное значение суммы.
Сделайте это. Прежде всего завершите сеанс отладки командой Debug ->Stop Debugging,
затем отредактируйте метод и присвойте переменной Sum начальное значение 0:
void CBedView::OnCalculateCalculateaverage()
{
// TODO: Add your command handler code here
CBedDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// float Sum; набрано ошибочно
float Sum=0;
. . .
}
185
можность выполнить команду Calculate -> Calculate Average. В результате код метода
OnCalculateCalculateAverage() выполняется до строки, на которой установлена точка
прерывания. Далее программа останавливается и отображает в окне Visual C++ код ме-
тода. Следует обратить внимание, что в Visual C++ меню Build заменилось на Debug.
Среди различных команд этого меню особый интерес представляют команды Step lnto
(F11), Step Over (F10), Step Out (Shift+F11) и Run To Cursor (Ctrl+F10). Они соответству-
ют различным способам выполнения программы, предусмотренным в режиме отладки
Visual C++.
      Во время отладки программ на Visual C++ часто встречаются строки с вызовами
различных методов (например, PerformWork(data)). Если продолжить пошаговое выпол-
нение программы с такой строки, то осуществится переход к коду вызываемого метода
(например, PerformWork(), который может быть достаточно длинным). Это означает, что
для возврата к отлаживаемому фрагменту необходимо пройти через весь код метода. Ес-
ли необходимо пропустить данный код, воспользуйтесь клавишей F10. Для прохода че-
рез код вызываемого метода, пользуйтесь клавишей F11. Если вы окажетесь внутри вы-
званного метода или другого блока, который не хотите отлаживать, можете выйти за его
пределы, нажав клавиши Shift+F11. Существует и другая возможность - установить кур-
сор в некоторой точке программы за текущей выполняемой строкой и нажать клавиши
Ctrl+F10, что приведет к выполнению кода до строки с курсором. В нашем примере для
пошагового выполнения программы будет использоваться клавиша F10. Нажмите F10
один раз, чтобы перейти к следующей строке программы. Текущей становится следую-
щая строка программы. Именно в ней происходит суммирование чисел для получения
накапливаемой суммы в переменной Sum. Чтобы выполнить текущую строку, обновить
значение суммы и перейти к следующей строке, еще раз нажмите клавишу F10. К пере-
менной Sum прибавлено первое целое число, значение которой можно проверить и убе-
диться, что все идет нормально.
      Чтобы узнать значение переменной Sum (в которой должно храниться первое це-
лое число = 1), задержите над ней указатель мыши. Рядом с именем переменной на экра-
не появляется подсказка со значением отличающимся от необходимого числа. Похоже,
проблема найдена. Помимо экранной подсказки, переменная Sum со своим значением
отображается в окне Auto, расположенном в левом нижнем углу. В этом окне приведены
значения последних переменных, с которыми работал Visual C++; среди них есть и наша
переменная Sum. Кроме того, вы можете щелкнуть на корешке Locals и перейти к одно-
именному окну, содержащему значения всех переменных (включая Sum), определенных
в текущем методе или фрагменте кода. Если же вы хотите отслеживать значение кон-
кретной переменной во время всего выполнения программы, введите ее имя в окне
Watch, расположенном в правом нижнем углу окна Visual C++ Кроме того, нужную пе-
ременную можно просто перетащить мышью в окно Watch.
      Просмотр программы показывает, что не обнулено начальное значение суммы.
Сделайте это. Прежде всего завершите сеанс отладки командой Debug ->Stop Debugging,
затем отредактируйте метод и присвойте переменной Sum начальное значение 0:

void CBedView::OnCalculateCalculateaverage()
{
      // TODO: Add your command handler code here
      CBedDoc* pDoc = GetDocument();
      ASSERT_VALID(pDoc);
//    float Sum;   набрано ошибочно
      float Sum=0;
      ...
}

                                          185