调试助手是一个基于 Python 3 和 PyQt5 开发的通用调试工具,采用插件化架构设计,支持动态加载插件来扩展功能。项目旨在为开发者提供一个灵活、可扩展的调试平台,通过插件机制实现功能的模块化和可定制化。
- 主项目:https://github.com/monkes/serial-debug-assistant-ui
- 插件仓库:https://github.com/monkes/serial-debug-assistant-ui_plugins
- 动态加载:支持运行时动态加载和卸载 Python 插件
- 插件管理:提供直观的插件管理界面,方便用户管理插件
- 权限分离:系统插件和用户插件分离,确保系统安全和用户便利性
- 可扩展性:基于
PluginInterface接口,开发者可以轻松创建自定义插件
- 现代化界面:基于 PyQt5 构建的现代化图形用户界面
- 多标签页:支持多标签页工作模式,便于同时处理多个任务
- 日志窗口:内置日志和调试输出窗口,实时显示程序运行信息
- 状态栏:底部状态栏显示程序状态和提示信息
- 标准接口:提供统一的插件接口规范
- 生命周期管理:完整的插件生命周期管理(初始化、激活、停用)
- 元数据支持:支持插件名称、描述、版本、作者等元数据
- 热加载:无需重启程序即可加载新插件
- 桌面集成:支持从应用程序菜单启动
- 命令行支持:提供命令行工具
debug-assistant - 多平台支持:支持 Linux 系统,可打包为 deb 包分发
- 编程语言:Python 3.6+
- GUI框架:PyQt5
- 串口通信:PySerial
- 打包工具:Debian 打包系统
debug-assistant/
├── debug_assistant/ # 主程序包
│ ├── main.py # 程序入口
│ ├── main_window.py # 主窗口实现
│ ├── plugin_manager.py # 插件管理器
│ ├── plugin_interface.py # 插件接口
│ ├── plugins/ # 插件目录
│ └── resources/ # 资源文件
├── debian/ # Debian 打包文件
├── build_output/ # 构建输出目录
├── 文档/ # 项目文档
│ ├── 项目说明.md
│ ├── API文档.md
│ ├── 插件权限说明.md
│ └── 更新日志.md
└── build.sh # 构建脚本
- 串口调试:通过插件实现串口通信调试功能
- 协议分析:开发协议分析插件,支持各种通信协议
- 数据监控:实时监控和分析数据流
- 自动化测试:编写测试插件,实现自动化测试流程
- 自定义工具:根据特定需求开发自定义调试工具
- Python 3.6+
- PyQt5
- PySerial
# 克隆仓库
git clone https://github.com/monkes/serial-debug-assistant-ui.git
cd serial-debug-assistant-ui
# 安装依赖(使用系统包管理器)
sudo apt-get install python3-pyqt5 python3-serial python3-pyqt5.sip python3-pyqt5.qtserialport
# 运行程序
python3 run.py
# 或使用启动脚本
./run.sh# 克隆仓库
git clone https://github.com/monkes/serial-debug-assistant-ui.git
cd serial-debug-assistant-ui
# 构建deb包
./build.sh
# 构建产物位于 build_output/ 目录
ls build_output/# 安装deb包(构建产物位于 build_output/ 目录)
sudo dpkg -i build_output/debug-assistant_<version>-<revision>_all.deb
# 如果有依赖问题,运行
sudo apt-get install -f注意:
<version>替换为实际版本号(如:1.0.0)<revision>替换为修订号(如:0)- 完整示例:
debug-assistant_1.0.0-0_all.deb
在开发环境中,可以使用以下方式启动程序:
# 使用Python直接运行
python3 run.py
# 或使用启动脚本
./run.sh在安装后的环境中,可以使用以下方式启动程序:
# 使用命令行
debug-assistant
# 或从应用程序菜单启动- 启动程序后,左侧会显示插件管理面板
- 点击"插件"菜单中的"加载插件"可以添加新的插件
- 在插件列表中选择插件,可以查看插件信息
- 点击"移除插件"按钮可以卸载选中的插件
- 新插件会自动复制到用户插件目录 (~/.local/share/debug-assistant/plugins/)
- 详见插件权限说明.md了解插件权限管理机制
插件需要继承PluginInterface类并实现以下方法:
get_name(): 返回插件名称get_description(): 返回插件描述get_version(): 返回插件版本get_author(): 返回插件作者
可选实现的方法:
initialize(main_window): 初始化插件activate(): 激活插件deactivate(): 停用插件
- 系统插件目录:
/usr/lib/debug-assistant/debug_assistant/plugins/(需要root权限) - 用户插件目录:
~/.local/share/debug-assistant/plugins/(无需root权限)
详见插件权限说明.md了解插件权限管理机制
MIT License
Zhang yang
1.0.0