# Для разработчиков ### Структура проекта: ```bash Src ├── build/ │ └── build_and_clean.py # Билдинг проекта в .exe (через nuitka или pyinstaller) ├── DebugVarEdit_GUI.py # Главное окно ├── tms_debugvar_term.py # Терминал DebugVarTerminal ├── tms_debugvar_lowlevel.py # Виджет для выбора переменных для LowLevel Watch ├── 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 ├── allvars_xml_parser.py # Парсинг XML со всеми переменными и структурами ├── csv_logger.py # Логирование переменных в CSV ├── myXML.py # Утилиты для XML ├── makefile_parser.py # Парсинг makefile на .c/.h файлы ├── var_setup.py # Подготовка переменных для окна выбора переменных ├── path_hints.py # Подсказки для автодополнения путей переменных ├── libclang.dll # Бибилиотека clang ├── icon.ico # Иконка ``` ### Зависимости Для запуска приложения: - **Python 3.7+** - **clang** — используется для парсинга C-кода (требуется `libclang.dll`, лежит в папке Src) - **PySide2** — GUI-фреймворк - **lxml** — работа с XML > Python 3.7 и PySide2 рекомендуется для совместимости с Windows 7 Для сборки `.exe`: - **Nuitka** — создает полностью автономный `.exe` без внешних зависимостей - **PyInstaller** — создает `.exe` с зависимостью от `pythonXX.dll` (Python должен быть установлен для запуска `.exe`) ### Сборка: Если вы хотите собрать `DebugVarEdit.exe` самостоятельно из исходников, используйте скрипт **build/build_and_clean.py**. Он автоматически собирает проект с помощью Nuitka или PyInstaller: - Собирает проект в `DebugVarEdit.exe` в корневой папке. - Включает: - все необходимые `.dll` (например, `libclang.dll`), - иконку (`icon.ico`), - плагины PySide2. - Очищает временные папки после сборки: - `build_temp` - `__pycache__` - `.*` > Все пути, имена файлов, временные папки и выбор между Nuitka и PyInstaller можно настроить в начале файла `build_and_clean.py`. ### Установка зависимостей ```bash pip install clang PySide2 lxml nuitka pyinstaller ```