调试器不会在设置断点的代码行处停止
Debbuger don't stop at line of code where the breakpoint is set
我遇到一个问题,Flutter 网络调试器突然没有在我设置的断点处停止。例如,我在 initializeApp() 行的 main.dart 中设置了一个断点,调试器并没有在此处停止,而是在文件 'web_entrypoint.dart' 的主体处随机打开停止点,这不是我自己创建的.
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
configureInjection(Environment.prod);
await Firebase.initializeApp();
final firebaseFirebaseRemoteConfigManager =
FirebaseRemoteConfigManager(instance: remoteConfig);
firebaseFirebaseRemoteConfigManager.setupDefaults();
await remoteConfig.fetchAndActivate();
runApp(MyApp());
}
当我在任何小部件的构建方法中设置断点时,它也不会在它停止的代码行处停止,例如在 'binding.dart' 文件的 'scheduleFrame' 方法中。
我已经尝试检查调试器 100% 工作的早期提交,但我仍然有问题,所以我认为它必须对我的设置做一些事情。还有其他人遇到过类似的问题吗?
这是我的 flutter doctor 输出:
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.10.4, on macOS 11.6 20G165 darwin-x64, locale de)
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
✗ cmdline-tools component is missing
Run `path/to/sdkmanager --install "cmdline-tools;latest"`
See https://developer.android.com/studio/command-line for more details.
✗ Android license status unknown.
Run `flutter doctor --android-licenses` to accept the SDK licenses.
See https://flutter.dev/docs/get-started/install/macos#android-setup for more
details.
[✓] Xcode - develop for iOS and macOS (Xcode 13.0)
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.1)
[✓] VS Code (version 1.65.2)
我只是在我的新设置中遇到了类似(相同?)的问题,调试器在 Chrome 中停止,但在我的 IDE 中没有停止(IntelliJ IDEA),在我以前的机器上它工作正常...... IDE 在 Dio 的基本拦截器中停止任何断点!并在 Chrome 中开发人员工具的“源代码”选项卡中的正确行停止...
看起来确实是一个 setup/config 问题,但不确定要更改什么。
此问题的根本原因是 Google Chrome 版本 100 删除了对调试器协议中“CallFrame.url”字段的支持。这导致 Dart/Flutter 调试器在断点和相关调试功能方面停止正常工作。
Dart/Flutter 团队即将修复“dwds”Dart 组件。这个 dwds 组件被合并到 Dart 的“webdev serve”和 Flutter 的“flutter 运行”网络调试器中。有关详细信息,请参阅 https://github.com/dart-lang/webdev/issues/1557 and https://github.com/dart-lang/webdev/pull/1559。
临时解决方法是将 Chrome 从 v100 降级到 v99 或更早版本。但要使其正常工作,您还必须禁用所有 Chrome 的 auto-update 服务,否则它将 auto-update 自身返回到 v100,问题将 return。
Flutter 团队发布了一个临时修复程序,直到该修复程序将合并到稳定版中:link
它对我有用,现在我可以再次调试网络了。
我遇到一个问题,Flutter 网络调试器突然没有在我设置的断点处停止。例如,我在 initializeApp() 行的 main.dart 中设置了一个断点,调试器并没有在此处停止,而是在文件 'web_entrypoint.dart' 的主体处随机打开停止点,这不是我自己创建的.
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
configureInjection(Environment.prod);
await Firebase.initializeApp();
final firebaseFirebaseRemoteConfigManager =
FirebaseRemoteConfigManager(instance: remoteConfig);
firebaseFirebaseRemoteConfigManager.setupDefaults();
await remoteConfig.fetchAndActivate();
runApp(MyApp());
}
当我在任何小部件的构建方法中设置断点时,它也不会在它停止的代码行处停止,例如在 'binding.dart' 文件的 'scheduleFrame' 方法中。
我已经尝试检查调试器 100% 工作的早期提交,但我仍然有问题,所以我认为它必须对我的设置做一些事情。还有其他人遇到过类似的问题吗?
这是我的 flutter doctor 输出:
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.10.4, on macOS 11.6 20G165 darwin-x64, locale de)
[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
✗ cmdline-tools component is missing
Run `path/to/sdkmanager --install "cmdline-tools;latest"`
See https://developer.android.com/studio/command-line for more details.
✗ Android license status unknown.
Run `flutter doctor --android-licenses` to accept the SDK licenses.
See https://flutter.dev/docs/get-started/install/macos#android-setup for more
details.
[✓] Xcode - develop for iOS and macOS (Xcode 13.0)
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.1)
[✓] VS Code (version 1.65.2)
我只是在我的新设置中遇到了类似(相同?)的问题,调试器在 Chrome 中停止,但在我的 IDE 中没有停止(IntelliJ IDEA),在我以前的机器上它工作正常...... IDE 在 Dio 的基本拦截器中停止任何断点!并在 Chrome 中开发人员工具的“源代码”选项卡中的正确行停止... 看起来确实是一个 setup/config 问题,但不确定要更改什么。
此问题的根本原因是 Google Chrome 版本 100 删除了对调试器协议中“CallFrame.url”字段的支持。这导致 Dart/Flutter 调试器在断点和相关调试功能方面停止正常工作。
Dart/Flutter 团队即将修复“dwds”Dart 组件。这个 dwds 组件被合并到 Dart 的“webdev serve”和 Flutter 的“flutter 运行”网络调试器中。有关详细信息,请参阅 https://github.com/dart-lang/webdev/issues/1557 and https://github.com/dart-lang/webdev/pull/1559。
临时解决方法是将 Chrome 从 v100 降级到 v99 或更早版本。但要使其正常工作,您还必须禁用所有 Chrome 的 auto-update 服务,否则它将 auto-update 自身返回到 v100,问题将 return。
Flutter 团队发布了一个临时修复程序,直到该修复程序将合并到稳定版中:link
它对我有用,现在我可以再次调试网络了。