debugVarTool/Src/README_DEVELOP.md

3.5 KiB
Raw Blame History

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

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

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__
    • <MAIN_SCRIPT_NAME>.*

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

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

pip install clang PySide2 lxml nuitka pyinstaller