Skip to main content

Набор генераторов программ для работы с отладчиками языка С

Project description

Оглавление

Инструкция по развертыванию проекта

Требования к системе

  • ОС: Linux (рекомендуется Ubuntu 20.04 LTS или выше)
  • Python: версия 3.8 или выше
  • Компилятор: GCC (GNU Compiler Collection)
  • Инструменты отладки и профилирования:
    • Valgrind
    • GDB (GNU Debugger)
    • Gprof (GNU Profiler)

1. Установка зависимостей

Установка Python, PIP и venv

sudo apt update
sudo apt install python3 python3-pip python3-venv

Установка GCC, Valgrind, GDB, Gprof

sudo apt install gcc valgrind gdb binutils

Проверка версий

python3 --version
pip3 --version     
python3 -m venv --help 
gcc --version
valgrind --version
gdb --version
gprof --version

2. Клонирование репозитория

git clone https://github.com/moevm/mse1h2025-perf.git
cd mse1h2025-perf

3. Установка Python-зависимостей

python3 -m venv venv  
source venv/bin/activate  
(venv) pip install -r requirements.txt

Функционал проекта

Примеры использования генераторов задач

Проект поддерживает 3 генератора задач. Ниже приведены примеры их запуска.

Генератор 1:

Создание задач на профилирование

python3 -m generators.profiling1 1 init -o test.out

Проверка задач на профилирование

python3 -m generators.profiling1 1 check -b test.out -a f1

Параметры:

  • Первый параметр: тип задачи (1, 2)
  • Второй параметр: создание задачи или проверка ответа (init, check)
  • С полным списком параметров можно ознакомиться в документации к генератору - Документация

Генератор 2:

Создание задач на утечку памяти

python3 -m generators.leak_generator -m 1

Проверка задач на утечку памяти

python3 -m generators.leak_generator -m 2

Параметры:

  • --mode, -m: создание задачи иили проверка ответа (1, 2)
  • С полным списком параметров можно ознакомиться в документации к генератору - Документация

Генератор 3:

Создание задач на отладку

python3 -m generators.cycle_generator -m 1

Проверка задач на отладку

python3 -m generators.cycle_generator -m 2

Параметры:

  • --mode, -m: создание задачи или проверка ответа (1, 2)
  • С полным списком параметров можно ознакомиться в документации к генератору - Документация

CodeRunner Moodle

Для демонстрации функционала генераторов были созданы тестовые задачи на Moodle.

Задача на профилирование:

Условие задания предоставляет информацию о решении задачи, а также ссылку на исполняемый файл:

1.1

Скачав файл, можно провести над ним необходимые манипуляции:

1.2

Демонстрация неверного ответа:

1.3

Демонстрация верного ответа:

1.4

Задача на утечку памяти:

Условие задания предоставляет информацию о решении задачи, а также ссылку на необходимые файлы:

1.1

Скачав файлы, можно провести над ними необходимые манипуляции:

1.2

Демонстрация неверного ответа:

1.3

Демонстрация верного ответа:

1.4

Задача на выход за границы массива:

Условие задания предоставляет информацию о решении задачи, а также ссылку на исполняемый файл:

1.1

Скачав файл, можно провести над ним необходимые манипуляции:

1.2

Демонстрация неверного ответа:

1.3

Демонстрация верного ответа:

1.4

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mse_task_generators-0.2.1.tar.gz (24.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mse_task_generators-0.2.1-py3-none-any.whl (31.8 kB view details)

Uploaded Python 3

File details

Details for the file mse_task_generators-0.2.1.tar.gz.

File metadata

  • Download URL: mse_task_generators-0.2.1.tar.gz
  • Upload date:
  • Size: 24.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for mse_task_generators-0.2.1.tar.gz
Algorithm Hash digest
SHA256 0f386b28a5f9d50ffac7b71c232a79449b2660491e3cef145dad8b412d0057a5
MD5 bb679d7f8411df7ae42d6c08321d79d6
BLAKE2b-256 fa360ae6cb1b9a27c476e91aa4de230bdb30ab8d42183d061affa20d0aa475bf

See more details on using hashes here.

File details

Details for the file mse_task_generators-0.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for mse_task_generators-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 855c6e3924a7466dc5488dc38398986df8b27504d8636bf5b45e4fe26d973e21
MD5 ec1c2be2eff8e8ce7459698605c6a94f
BLAKE2b-256 7e861a2fa30f661b930874fe5503eb2ba860c6eb393f30b7e1136c0dd2a1d78a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page