Отладка программы.

Потоки символов

Символьные потоки StreamWriter и StremReader работают с Unicode символами ими удобнее всего пользоваться при работе с файлами, которые предназначены для восприятия человеком. Они являются наследником класса TextReader TextWriter, произвольный доступ для текстовых файлов не поддерживается. Наиболее важные элементы базового класса TextWriter:

Close – закрыть файл, и освободить связанные с ним ресурсы.

Flush – отчистить все буферы для текущего файла и записать накопленные в них данные в место их постоянного хранения. Сам файл при этом не закрывается.

NewLine – используются для задания последовательности символов означающих начало новой строки. По умолчанию используется последовательность “возврат каретки”, перевод строки. \r, \n

Write - записать фрагмент текста в поток.

WriteLine – записать строку в поток и перейти на следующую строку.

Наиболее важные элементы класса TextReader.

Peek – возвратить следующий символ, не изменяя позицию указателя в файле.

Read – Считать данные из входного потока.

ReadBlock – считать из входного потока, указанное пользователем количество символов и записать их в буфер начиная с заданной позиции.

ReadLine – считать строку из текущего потока и возвратить ее как значение String. пустая строка null, оказывает конец файла eof.

записать в файл 10 чисел полученных случайным образом.

Это процесс локализации и исправления ошибок, обнаруженных при тестировании программного обеспечения.

Локализация это процесс определения оператора программы выполнение, которого вызвало нарушение нормального вычислительного процесса.

Сложность отладки обусловлено следующими причинами:

1) отладка требует глубоких знаний специфики управления техническими средствами, ОС среды и языка программирования, методик отладки.

2) отладка психологически дискомфортно, так как необходимо искать собственные ошибки, в условиях ограниченного времени.

3) отсутствуют четко сформулированные методики отладки.

4) возможно взаимовлияние ошибок в разных частях программы.

Классификация ошибок

1) синтаксические ошибки – это ошибки фиксируемые компилятором при выполнении синтаксического и частично семантического анализа программы.

2) ошибки компоновки – это ошибки обнаруживаемые компоновщиком редактором связи, при объединении модулей программы.

3) ошибки выполнения – это ошибки обнаруживаемые ОС или пользователем при выполнении программы.

Выделяются способы проявления ошибок выполнения.

1) появление сообщения об ошибке зафиксированного схемами контролем выполнения машинных команд.

2) появление сообщение об ошибке обнаруженной ОС. Например: попытка записи на устройство защищенной от записи. Отсутствие файла с заданным именем.

3) несовпадение полученных результатов с ожидаемым. Зависание компьютера.

Всевозможные причины ошибок можно разделить на следующие :

1) Неверное определение исходных данных

2) Логические ошибки – они следуют из ошибок, допущенных при проектировании. Неправильно выбран метод, неправильный алгоритм или структура класса.

3) Накопление погрешностей результатов вычислений.