Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Часть Становимся программистами. Запуск тестовой программы




Таблица      КомандыотладчиковMicrosoftVisualC++иGNUrhide                                          

КОМАНДА   VISUAL C++ GNU C++ (RHIDE:)
Собрать (Build)   <Shift+F8> <F9>
Шаг с входом в функцию (Step   > <F7>
Шаг без входа в функцию (Step Over)   <F10> <F8>
Просмотр переменной (View Variable)   Только в меню
Установка точки останова (Set Breakpoint)   <F9>
Наблюдение;запеременной(Addwatch)   Только в меню <Ctrl+F7>
Выполнение (Go)   <F5>
Просмотр экрана пользователя (View Screen) User Щелчок в окне программы <Alt+F5>
Перезагрузка программы (Program Reset)   <Ctrl+F2>

Запуск тестовой программы


Лучший способ исправить ошибки в                         — пройти ее пошагово. Приведен- ная ниже программа содержит несколько                                                                             которые надо найти и исправить.

//                                 — соединяет         строки и добавляет

/ /                                                               " - "                                     .

//             (в этой   содержатся ошибки)

 

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; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.016 с.)
Главная | Случайная страница | Обратная связь