Flutter dart 调试器断点停止工作

Flutter dart debugger breakpoints stopped working

我正在学习 Dart 和 Flutter,并在 Android Studio 3.1.2 下开发一个小型 Android Flutter 应用程序。调试器断点突然停止工作 - 在调试模式下启动的应用程序永远不会在它们上面停止,指示断点的红点变为内部带有 x 的红点。在我的应用程序中,它们仍然有效的唯一地方是 main.dart 模块。

我清理了项目很多次,在两个不同的设备上进行了测试,完全卸载了我的 Flutter 调试应用程序,然后开始新的 - 没有任何帮助。 beta(当前 beta 2)频道上的 Flutter 更新不执行任何操作。还尝试切换到开发和主频道 - 没有帮助。

有没有人遇到过类似情况,怎么处理的?

编辑,添加mail.dart和flutter doctor的输出(目前在master分支,但切换到beta或dev分支后出现同样的问题):

从 main.dart 进口,或更好地进口 main.dart:

import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';

import 'app_strings.dart';
import 'net_libs_page/net_libs_page.dart';

void main() => runApp(new MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      localizationsDelegates: [
        // ... app-specific localization delegate[s] here
        AppLocalizationsDelegate(),
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate,
        //FallbackMaterialLocalisationsDelegate(),
      ],
      supportedLocales: [
        Locale('en', 'US'), // English
        Locale('es', 'ES'), // Spanish
        Locale('pl', 'PL'),
        // ... other locales the app supports
      ],
      title: '@Voice Network Library', //_strings.title,
      theme: ThemeData(
        // This is the theme of your application.
        //
        // Try running your application with "flutter run". You'll see the
        // application has a blue toolbar. Then, without quitting the app, try
        // changing the primarySwatch below to Colors.green and then invoke
        // "hot reload" (press "r" in the console where you ran "flutter run",
        // or press Run > Flutter Hot Reload in IntelliJ). Notice that the
        // counter didn't reset back to zero; the application is not restarted.
        primarySwatch: Colors.indigo,
      ),
      home: NetLibsPage(),
    );
  }
}

Flutter 医生输出:

Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel master, v0.4.5-pre.52, on Microsoft Windows [Version 10.0.16299.431], locale en-US)
[√] Android toolchain - develop for Android devices (Android SDK 27.0.3)
[√] Android Studio (version 3.1)
[!] IntelliJ IDEA Ultimate Edition (version 2018.1)
    X Flutter plugin not installed; this adds Flutter specific functionality.
    X Dart plugin not installed; this adds Dart specific functionality.
[!] VS Code, 32-bit edition (version 1.19.3)
[√] Connected devices (1 available)

! Doctor found issues in 2 categories.

不要在 lib/main.dart

中使用相对导入
import 'app_strings.dart';
import 'net_libs_page/net_libs_page.dart';

改为使用

import 'package:my_app/app_strings.dart';
import 'package:my_app/net_libs_page/net_libs_page.dart';

其中 my_appname: 字段中 pubspec.yaml 中的内容。

跟踪的问题https://github.com/dart-lang/sdk/issues/33076

导入路径中路径的大写似乎导致断点停止工作。即:

package:myApp/model/myWidget/myWidget.dart

package:myApp/model/MyWidget/MyWidget.dart

调试不一样。有趣的是,应用程序启动时没有出现路径大写错误的任何问题。

对于那些在 VS Code 上使用 flutter 的人,

请查看您对 dart 文件名所做的更改。

我在 VS Code 上遇到了同样的问题。它没有显示编译错误,工作正常但断点不起作用。

在我进行更改时,我查看了几个我更改的 dart 文件。

比如我把“Home.dart”改成了“home.dart”,等等。

即使您更改了文件名,VS Code 有时也不会反映更改,

这意味着即使您将 Home.dart 更改为 home.dart,

左侧面板显示 home.dart,而右侧面板显示您打开的文件仍然显示“Home.dart”

下面的图片解释了我刚才提到的所有内容。

解决方案是简单地关闭所有打开的 dart 文件,关闭 VS Code,然后重新打开它。这对我有用。

对我有用的解决方案:

简单

uninstall your flutter app

从真实设备(在设备上手动)并再次尝试调试(!)

就我而言,Flutter Doctor 没有发现任何错误。在花了一些时间尝试解决它之后,Android Studio 向我显示了一条更新 Dart 和插件的正常消息。更新后,只需重新启动 Android Studio 就可以了。完美运行。