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)
  • С полным списком параметров можно ознакомиться в документации к генератору - Документация

Пакет mse-task-generators

Установка пакета

pip install mse-task-generators

При установке пакета устанавливаются и зависимости, необходимые для корректной работы команд.

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

Нижеперечисленные утилиты должны принимать различные аргументы, информация о которых доступна при добавлении флага --help-h

Генератор задач с циклом

generators-cycle-generator flag1 <arg1>, flag2 <arg2> ...

Генератор задач с утечкой памяти

generators-leak-generator flag1 <arg1>, flag2 <arg2> ...

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

generators-profiling1 flag1 <arg1>, flag2 <arg2> ...

Импортирование функций в программу на Python

from generators.leak_generator import LeaksGenerator
from generators.cycle_generator import CCodeGenerator
from generators.cycle_generator import upload_file_to_yadisk
from generators.profiling1 import TaskFindingSlowFunctionGenerator
from generators.profiling1 import TaskFindingSlowFuncInFuncGenerator

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.3.tar.gz (24.5 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.3-py3-none-any.whl (31.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mse_task_generators-0.2.3.tar.gz
  • Upload date:
  • Size: 24.5 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.3.tar.gz
Algorithm Hash digest
SHA256 f046fa2e55c7c9aaa2677748c77c9b6db9bb19b4469466a4b1319f454c4148cf
MD5 a67e44abe24cec2a678bc95cecf8c196
BLAKE2b-256 9f9bcdfeafdb034c54a5ea764a3305fb1695e2cb6f6ae9872238a58fe0402ff9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mse_task_generators-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 cec8e5811bfaf9b7b7b3e2a957bc092361bbc990e350c146bb0273b7370b6f45
MD5 4047500e3205b07df56362846370d97a
BLAKE2b-256 644d607d7d58c4715c7f2cda13cb2b6f0949ca881ec0d138971a1c8c99d62a36

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