debugVarTool/Src/README_DEVELOP.md
Razvalyaev 369cfa808c чистка для релиза
переструктурировано чуть

и всякие мелкие фиксы
2025-07-15 15:37:29 +03:00

2.9 KiB
Raw Blame History

Для разработчиков

Структура проекта:

Src
├── build/
│   └── build_and_clean.py	# Билдинг проекта в .exe (через nuitka или pyinstaller)
├── DebugVarEdit_GUI.py     # Главное окно
├── var_table.py        	# Таблица выбранных переменных
├── var_selector_window.py 	# Окно выбора переменных
├── var_selector_table.py  	# Таблица переменных в окне выбора переменных
├── scan_progress_gui.py   	# Отображение процесса сканирования переменных 
├── scan_vars.py           	# Сканирование переменных среди .c/.h файлов
├── generate_debug_vars.py 	# Генерация debug_vars.c
├── myXML.py                # Утилиты для XML
├── makefile_parser.py     	# Парсинг makefile на .c/.h файлы
├── var_setup.py            # Подготовка переменных для окна выбора переменных
├── libclang.dll            # Бибилиотека clang
├── icon.ico                # Иконка

Зависимости

Для запуска приложения:

  • Python 3.7+
  • clang — используется для парсинга C-кода (требуется libclang.dll)
  • PySide2 — GUI-фреймворк
  • lxml — работа с XML

Python 3.7 и PySide2 рекомендуется для совместимости с Windows 7

Для сборки .exe:

  • Nuitka — создает полностью автономный .exe без внешних зависимостей
  • PyInstaller — создает .exe с зависимостью от pythonXX.dll (Python должен быть установлен)

Сборка:

Если вы хотите собрать DebugVarEdit.exe самостоятельно из исходников, используйте скрипт build/build_and_clean.py. Он автоматически собирает проект с помощью Nuitka или PyInstaller:

  • Собирает проект в DebugVarEdit.exe в корневой папке.
  • Включает:
    • все необходимые .dll (например, libclang.dll),
    • иконку (icon.ico),
    • плагины PySide2.
  • Очищает временные папки после сборки:
    • build_temp
    • __pycache__
    • DebugVarEdit_GUI.*

Все пути, имена файлов, временные папки и выбор между Nuitka и PyInstaller можно настроить в начале файла build_and_clean.py.

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

pip install PySide2 lxml nuitka pyinstaller