Debian 上可用的 Flutter 调试工具与用法
一 核心工具与场景
- Dart DevTools:用于检查 Widget 树、性能时间线、网络请求、应用体积等,适合深度排查 UI 与性能问题。
- IDE 断点调试(VS Code / Android Studio):图形化设置断点、单步执行、观察变量,配合热重载提升迭代效率。
- 应用内调试工具 UME:字节跳动开源,集成 UI 检查、标尺与取色、性能/内存/CPU 面板、控制台、Dio 网络拦截 等,适合真机/嵌入式场景快速定位。
- 日志与错误边界:使用 debugPrint、dart:developer.log 或 Logger 规范输出;在 main 中使用 try-catch 捕获启动期异常并展示错误界面。
- 网络抓包协同调试 Reqable:在 Android/iOS 设备上配合桌面端进行 HTTPS 抓包与 API 调试,便于排查接口问题。
- 构建与体积分析:使用 flutter build apk --analyze-size 定位大体积资源与依赖。
- 嵌入式 Linux 调试(flutter-elinux):非官方方案,用于在嵌入式设备上运行与调试 Flutter 应用。
二 快速上手步骤
-
准备环境
- 安装 Flutter SDK 并配置环境变量(如将 $HOME/flutter/bin 加入 PATH)。
- 运行 flutter doctor 检查依赖;连接设备或启动模拟器后执行 flutter devices 确认可用目标。
-
启动与连接调试
- 终端运行 flutter run 启动应用;需要附加到已运行实例时使用 flutter attach。
- 启动 DevTools:执行 flutter pub global activate devtools,然后运行 flutter devtools,在界面中选择目标应用进行检查。
-
使用 IDE 断点调试
- 在 VS Code 或 Android Studio 中打开项目,设置断点后以 Debug 模式运行,利用 热重载 快速验证修复。
-
应用内调试与日志
- 集成 UME(仅调试构建启用),在 kDebugMode 下注册所需插件并在 main 中用 UMEWidget 包裹根组件。
- 规范日志:优先使用 debugPrint 或 dart:developer.log/Logger,避免生产使用 print。
三 常用命令与示例
- 环境准备与设备检查
- 命令:
- sudo apt update && sudo apt install flutter
- echo ‘export PATH=“$PATH:/home/your_username/flutter/bin”’ >> ~/.bashrc && source ~/.bashrc
- flutter doctor
- flutter devices
- 运行与附加
- 命令:
- flutter run
- flutter attach
- 启动 DevTools
- 命令:
- flutter pub global activate devtools
- flutter devtools
- 体积分析(Android 示例)
- 命令:flutter build apk –analyze-size --target-platform=android-arm64
- UME 快速集成(仅调试)
- 依赖:
- flutter pub add flutter_ume
- flutter pub add flutter_ume_kit_perf
- flutter pub add flutter_ume_kit_ui
- flutter pub add flutter_ume_kit_device
- flutter pub add flutter_ume_kit_console
- flutter pub add flutter_ume_kit_dio
- 启用:
- 在 main.dart 的 kDebugMode 分支中注册所需插件,并用 UMEWidget(enable: true, child: MyApp()) 包裹。
四 网络抓包与嵌入式场景
- Reqable 抓包协同(Android/iOS)
- 在电脑安装 Reqable 客户端并启动,移动端选择 协同模式 扫码连接;在手机上安装并信任根证书后,即可对 App 的 HTTPS 请求进行抓包与断点调试。
- 嵌入式 Linux(flutter-elinux)
- 适用于 嵌入式设备 的运行与调试,属于 非官方 方案,需按插件文档进行环境准备与构建。