Составители:
Рубрика:
можность выполнить команду 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
Страницы
- « первая
- ‹ предыдущая
- …
- 183
- 184
- 185
- 186
- 187
- …
- следующая ›
- последняя »