- Скомпилируем программу в отладочном режиме
gcc -g shell-sort.c -o shell-sort.out
- Оценим работоспособность программы. Программа запускается, на корректном наборе данных завершается кодом 0.
- Проверим корректность программы на наборе
2 1 5 -12 3 -9
. Программа выдает корректный ответ:-12 -9 1 2 3 5 N
. - Проверим на произвольном наборе данных '4 3 8 4'. Выдает некорректный ответ:
0 3 4 4 N
. - Начинаем процесс дебагинга.
gdb ./shell-sort.out
. - Поставим breakpoint на 36 строку, дабы убедиться в корректности поступающих данных в функцию shell_sort,
break 36
. - Запускаем процесс,
run 3 6 9 -3
. - Посмотрим на данные в текущем фрейме,
info locals
. Argc, переменная которая передается в качестве размера массива, равняется 5, в то время как размер веденного массива 4. - Устраняем ошибку,
shell_sort(a, argc - 1)
. - Запускаеи программу и убеждаемся, что ошибка была исправлена.
- Проводим стресс-тестирование.
seminar-02
Folders and files
Name | Name | Last commit date | ||
---|---|---|---|---|
parent directory.. | ||||