Flutter dart调试器断点停止工作

时间:2018-05-19 12:42:55

标签: android debugging dart flutter breakpoints

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

我多次清理项目,在两个不同的设备上进行测试,完全卸载了我的Flutter调试应用程序并启动了新功能 - 没有任何帮助。关于beta(当前beta 2)频道的颤动更新什么都不做。还尝试切换到开发和主通道 - 没有帮助。

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

编辑,添加flutter doctor的mail.dart和输出(当前在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.

3 个答案:

答案 0 :(得分:9)

请勿在{{1​​}}

中使用相对导入
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_app字段pubspec.yaml中的内容。

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

答案 1 :(得分:1)

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

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

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

在进行更改时,我查看了一些更改为的dart文件。

例如,我将“ Home.dart”更改为“ home.dart”,依此类推。

即使更改文件名,VS Code有时也无法反映更改,

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

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

下面的图片解释了我刚才要解决的所有问题。

enter image description here

enter image description here

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

答案 2 :(得分:0)

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

package:myApp/model/myWidget/myWidget.dart

package:myApp/model/MyWidget/MyWidget.dart

调试时不同。有趣的是,该应用程序启动时不会出现路径大写错误的问题。