我正在学习Dart和Flutter,并在Android Studio 3.1.2下开发一个小型Android Flutter应用。突然,调试器断点停止工作--在调试模式下启动的应用从未在断点处停止,指示断点的红点变成了内含x的红点。在我的应用中,它们仍然工作的唯一位置是主.dart模块。
我清理了这个项目很多次,在两个不同的设备上测试,完全卸载了我的Flutter调试应用程序,然后开始新的--没有任何帮助。在beta(当前beta 2)通道上更新Flutter没有任何帮助。也尝试切换到dev和master通道--没有帮助。
有没有人遇到过类似的情况,是怎么处理的呢?
编辑,添加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.
7条答案
按热度按时间soat7uwm1#
在
lib/main.dart
中不使用相对导入而是使用了
其中,
my_app
是name:
字段中pubspec.yaml
的内容。追踪此项目的问题https://github.com/dart-lang/sdk/issues/33076
mklgxw1f2#
导入路径中路径的大写似乎会导致断点停止工作。即:
和
对于调试来说是不一样的。有趣的是,应用程序启动时没有任何路径大写不正确的问题。
pqwbnv8z3#
对于那些在VS代码上使用flutter的人来说,
请查看您对dart文件名所做的更改。
我在VS代码上也遇到了同样的问题。它没有显示编译错误,工作正常,但断点不起作用。
当我正在经历我所做的更改,我看了几个dart文件,我改变了。
例如,我将“Home.dart”更改为“home.dart”,等等。
即使更改了文件名,VS代码有时也不会反映更改,
这意味着即使你把Home.dart改成了Home.dart,
左侧面板显示home.dart,而右侧面板显示您打开的文件,仍然显示“home.dart”
下面的图片解释了我刚才所说的一切。
解决方案是简单地关闭你打开的所有dart文件,关闭VS代码,然后重新打开它。这对我很有效。
2uluyalo4#
在我的例子中,Flutter Doctor没有发现任何错误。在花了一些时间试图解决它之后,Android Studio向我显示了一条更新Dart和插件的正常消息。更新后,它足以重新启动Android Studio,瞧,它完美地工作了。
zwghvu4y5#
只是遇到了同样的问题,flutter调试器从来没有停止在断点。这发生在我原来的模拟器损坏,并重新创建了一个新的模拟器。
对我有效的解决方案很简单。
如何调试这个问题,如果以上不为您工作?
1.请参考此github问题。复制并粘贴以下内容以方便参考
如果上述情况正常,则表示项目中存在导致调试器无法正常工作的特定问题。
1.利用web浏览器中的devTool,使用它附带的调试器工具设置断点,看看它是否有效。
1.使用dart编程断点
从那里你可能会得到一些解决这个问题的想法。祝你好运。
omtl5h9j6#
原因是您使用Powershell和VS代码时收到以下警告:“打开工作区的外壳......”
假设您有一个名为MY_APP的文件夹,但您从PowerShell将应用加载到文件夹my_app中,调试将无法工作,因为您希望该文件夹命名为MY_APP。
对我来说,我只是改变了外壳在Powershell和调试是工作了。
jrcvhitl7#
适用于我的解决方案:
简单地
卸载Flutter应用程序
从真实的设备(在设备上手动)调试,然后再次尝试调试(!)