Задание по лекции 06_Tracing

(Общие замечания см. тут)

Рассматривается следующее решение:

Трюк с LD_PRELOAD полностью берётся из лекции.

В таком решении — минимум 10 мест для проверки ошибок. Ошибки, которые можно вызвать с помощью вброса, помечены {i}

  1. Количество параметров командной строки
  2. {i} Открыть файл на чтение

  3. {i} Выяснить размер файла

  4. Завести буфер
  5. {i} Прочесть файл в буфер

  6. {i} Закрыть файл

  7. {i} Открыть файл на запись

  8. {i} Записать буфер

  9. {i} Закрыть файл

  10. {i} Удалить старый файл

Условие сдачи

По команде make собирается программа и библиотека, а по команде make test запускается какое-то количество тестов на вброс ошибки и тест на неудаление; все тесты успешны.

Компоненты автоматической проверки

Обязательная составляющая

Необязательная составляющая

Варианты ошибок

Некоторые из приведённых ошибок можно считать мелкими недочётами или ситуациями, требующими неоправданно глубокого анализа — возможно, их не стоит учитывать при выставлении баллов. Помечены {2}

LecturesCMC/LinuxApplicationDevelopment2024/06_Tracing/HomeworkReview (последним исправлял пользователь FrBrGeorge 2025-07-05 11:51:47)