1. 准备调试环境
在Debian上调试Flutter应用前,需完成基础环境配置:
~/flutter目录,将bin路径添加到PATH环境变量(编辑~/.bashrc,添加export PATH="$PATH:~/flutter/bin",执行source ~/.bashrc)。sudo apt update && sudo apt install -y git cmake ninja-build libgl1-mesa-dev libglib2.0-dev libnss3-dev libxss1 libasound2 libxtst6 xauth xvfb libgtk-3-dev,确保编译和运行Flutter应用所需的库已就绪。2. 使用Flutter DevTools(官方推荐工具)
Flutter DevTools是一套功能全面的调试工具,支持状态检查、性能分析、网络请求监控等:
flutter pub global activate devtools(首次使用需激活),然后执行flutter pub run devtools,启动后会显示访问链接(如http://127.0.0.1:9100)。flutter run启动应用,DevTools会自动检测并连接;或在VS Code中通过“打开DevTools”按钮手动连接。3. IDE集成调试(VS Code/Android Studio)
通过IDE可以实现断点调试、热重载等便捷操作:
launch.json配置(若未自动生成):{
"version": "0.2.0",
"configurations": [
{
"name": "Flutter",
"request": "launch",
"type": "dart",
"program": "${workspaceFolder}/lib/main.dart"
}
]
}
Ctrl+S(VS Code)或点击“热重载”按钮,快速应用更改。4. 日志查看与错误排查
flutter logs命令实时查看运行中应用的日志输出;若应用已启动,可通过flutter attach连接到进程并查看日志。print()、debugPrint()的内容)。main.dart中使用try-catch包裹启动逻辑,避免应用因未捕获异常崩溃:Future<void> main() async {
try {
await initApp(); // 初始化逻辑(如数据库、网络)
runApp(const MyApp());
} catch (e) {
runApp(const ErrorScreen(message: e.toString())); // 显示错误页面
}
}
~/.flutter目录下,可通过查看该目录的日志文件获取详细错误信息。5. 性能分析与优化
flutter run --trace-skia开启Skia渲染跟踪,结合DevTools的“Timeline”标签分析帧渲染时间,识别卡顿原因(如布局耗时、绘制耗时)。flutter memory命令生成内存快照。debugShowPerformanceOverlay),实时显示帧率、GPU使用率等信息。6. 第三方调试工具(可选)
flutter pub add flutter_ume;main.dart中添加:if (kDebugMode) {
PluginManager.instance
..register(WidgetInfoInspector())
..register(Performance())
..register(MemoryInfoPage());
runApp(const UMEWidget(enable: true, child: MyApp()));
}