Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Часть Становимся программистами. Запуск тестовой программы
Таблица КомандыотладчиковMicrosoftVisualC++иGNUrhide
Запуск тестовой программы Лучший способ исправить ошибки в — пройти ее пошагово. Приведен- ная ниже программа содержит несколько которые надо найти и исправить. // — соединяет строки и добавляет / / " - " . // (в этой содержатся ошибки)
h>
void char
int nArg, pszArgs[])
cout << "Эта программа соединяет две строки\п" ; cout << "(Эта содержит
// считать строку... char szStrir.gl ; cout << " Введите строку #1:";
// вторую... char [128]; cout << " Введите строку #2:"; 12 8; ;
// " — " к концу первой... ( , " — " ) ;
// ...теперь добавить вторую строку... szString2);
// показать результат cout << "\n" << szStringl <<
return
// concatString - присоединяет* pszSource к окончанию Глава 11. Отладка программ на C++ 125 // строки* void (char szTarget[], char int Index; // найти конец первой строки // присоединяет строку к концу первой г 1 =
nSourceIndex++ ;
Соберите и запустите программу. Когда она запросит первую строку, введите что- нибудь наподобие "это строка", а на запрос второй строки введите "ЭТО СТРОКА" (впрочем, можно писать все, что угодно). Вместо объединения двух строк программа завершится с кодом выхода Щелк- ните на (других вариантов у вас все равно нет). Чтобы утешить вас, отладчик от- кроет окно, содержащее следующую информацию:
in 9) FPcTO in Из этого видно, что ошибка возникла в строке 49 модуля кото- рая находится в функции (), вызванной в строке 28 функции main (). Строка 49 имеет вид
А строка 28 содержит вызов функции " — ") ; Внешне вроде бы все порядке и с командой в строке 49, и с вызовом функции в строке 28. Чтобы найти ошибку, понадобится отладчик. Примечание. Хотя вы уже встречались с похожей ошибкой, я все равно настоятель- но советую детально разобрать этот пример. Пошаговое выполнение программы Первое, что стоит сделать при поиске ошибки с помощью отладчика, — это выполнить программу в пошаговом режиме. В среде rhide выполните команду Reset. Примечание. Из табл. 11.1 видно, что в rhide эта команда выполняется с помощью клавиш <Ctrl+F2> {или клавиш в Visual C++). Больше я не буду давать под- сказок, поскольку все необходимые команды содержатся в табл. Кроме того, все ко- манды, используемые в этой главе, доступны из выпадающих меню среды разработчика. Команда Program Reset заставляет отладчик заново начать работу с программой {а не с того места, где вы находитесь). Никогда не вредно перезагрузить отладчик перед началом работы. Выполните команду Step Over (пошаговое выполнение без входа в функции). Сре- да rhid e откроет окно MS DOS, как и в нормальном режиме, однако сразу после этого переключится в окно редактирования программы, выделив первую исполняе-
|
Последнее изменение этой страницы: 2019-04-19; Просмотров: 193; Нарушение авторского права страницы