Flutter调试异常:Debug模式下非main.dart断点自动失效
解决Flutter仅main.dart断点可触发的调试异常
以下是针对该问题的具体排查与解决步骤:
检查Debug构建配置
确认Android端android/app/build.gradle的debug构建类型未开启优化:buildTypes { debug { debuggable true minifyEnabled false shrinkResources false } }iOS端检查
ios/Runner.xcconfig的调试信息格式配置:DEBUG_INFORMATION_FORMAT = dwarf-with-dsym排查代码编译优化
若其他文件中的类/方法使用了const修饰无状态组件,或标记了@pragma('vm:prefer-inline'),可能被编译器优化导致断点失效。临时移除这类标记后重新调试。重置IDE项目配置
删除项目根目录下的.idea文件夹和所有*.iml文件,重启Android Studio并重新导入项目,让IDE重新生成调试配置。验证调试启动参数
打开Run/Debug Configurations,确认当前配置的"Additional run args"无--release或--profile参数,确保以纯Debug模式启动,同时勾选"Enable Dart assertions"选项。关闭Debug模式下的代码混淆
检查android/app/proguard-rules.pro是否存在不必要的混淆规则,确保build.gradle中debug模式下minifyEnabled和shrinkResources均为false。命令行启动调试验证
执行flutter run --debug启动应用,再通过Android Studio的"Attach to running process"功能连接调试,排查是否为IDE启动配置问题。
内容的提问来源于stack exchange,提问作者Akash Bisht
相关产品推荐
相关产品推荐

