Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Часть II. Становимся программистами. Введите следующее. Внимательно присмотревшись к программе, можно заметить
Введите следующее Внимательно присмотревшись к программе, можно заметить, что nSura была объ- явлена, но не Для того чтобы исправить эту ошибку, объявле- ние переменной необходимо изменить следующим образом: in t 0; Примечание. Пока переменная не проинициализирована, ее значение непредска- зуемо. Теперь, когда вы нашли все ошибки, перепишите программу так, как показано в следующем листинге: // — эта программа усредняет // ряд чисел и не содержит // ошибок
int char* { cout << "Эта программа // ряд чисел, пока // пользователь не введет отрицательное число, // чего выводит среднее int = 0;
for (int = 0; { // ждет ввода следующего числа int nValue; cout << следующее cin >> nValue;
// если введенное число меньше нуля... if (nValue < 0) { // вывести среднее cout << << << "\п";
// если число больше нуля, // сложить его с аккумулятором nSum += nValue;
return 0; } Теперь вывод программы будет правильным. Эта программа
Введите следующее Введите следующее Глава 11. Отладка программ на C++ 123 Введите следующее Введите следующее Среднее 2 Протестировав эту программу другими наборами я убедился, что она рабо- тает без ошибок.
В небольших программах метол отладочной печати работает довольно неплохо. Добавление отладочных команд достаточно простой и не на время ком- пиляции способ нахождения ошибок, с которого можно быстро отыскать ошибку, если программа невелика. В действительно больших зачастую программист даже не знает, куда нужно добавлять отладочные команды. Работа по добавлению отладочных команд, пе- резапуску программы, повторному добавлению отладочных команд и так далее стано- вится утомительной. Кроме того, после каждого переписывания программу нужно со- бирать заново. Не забывайте, что в большой программе один только процесс сборки может занять немало времени. В конце концов, с помощью этого метода почти невозможно найти ошибку, свя- занную с указателями. Указатель, выведенный на экран в виде, мало о чем скажет вам, и, пока программист поймет, что нужно сделать для исправ- ления ошибки, программа успеет морально устареть. Второй, метод использование отдельной утилиты, которая называется отладчиком. С помощью отладчика можно избежать трудностей, возни- кающих при использовании методики отладочной печати (однако, если вы хотите ис- пользовать отладчик, вам придется научиться с ним работать).
Что такое отладчик Отладчик — это утилита, встроенная, например, в или Microsoft Visual C++ (в этих приложениях разные программы отладчиков, однако работают они по одному принципу). Программист управляет отладчиком с помощью команд так же, как, например, при редактировании или компиляции программы. Команды отладчика можно выпол- нять с помощью контекстных меню или горячих клавиш. Отладчик позволяет программисту контролировать работу программы по ходу ее выполнения. С помощью отладчика можно выполнять программу в пошаговом режи- ме, останавливать ее в любой и просматривать содержимое любой переменной. Чтобы оценить удобство отладчика, его нужно увидеть в действии. В этом разделе преимущества отладчика показаны при работе с небольшой программой (я использо- вал отладчик rhide , но отладчик в Visual C++ работает очень похоже).
Выбор отладчика В отличие от стандартизированного языка C++, набор команд, поддерживаемый отладчиком, варьируется от производителя к производителю. К счастью, большин- ство отладчиков поддерживают некоторый базовый набор команд. Необходимые нам команды есть в обеих средах разработчика, описанных в этой книге. В GNU C++ и Visual C++ существует возможность вызова этих команд с помощью меню и функциональных клавши. В табл. приведен список основных команд и кла- виш их вызова.
|
Последнее изменение этой страницы: 2019-04-19; Просмотров: 227; Нарушение авторского права страницы