【问题标题】:VS code does NOT show Flutter errors in debug consoleVS 代码在调试控制台中不显示 Flutter 错误
【发布时间】:2021-03-25 07:08:22
【问题描述】:

由于某种原因,VS 代码中的颤振停止显示错误。没有运行时或异常错误。即使我故意将空值放在任何地方,控制台中也没有显示任何内容。

红色的崩溃屏幕出现在设备和模拟器上,但控制台输出中没有详细信息。没有一个错误。 This image is what I am talking about, it's gone

有人遇到过这种事吗? 谢谢

【问题讨论】:

  • 你是如何在 VS Code 中启动应用程序的?
  • @DannyTuppeny 从顶部菜单栏中:运行 => 运行而不进行调试。编辑:也运行 ==> 调试并从终端:flutter run --release
  • 从终端运行不会将任何输出写入调试控制台,但它也应该将其输出写入终端。在使用flutter run 运行时,您是否也看不到写入终端的输出?能否提供代码示例和设备上的错误截图?
  • 也许您不应该使用--release 标志 - 这些错误将被隐藏!
  • 问题已解决@NigelSheridan-Smith,如果是这样的话,你是对的,但原因不同。不过谢谢!

标签: flutter dart visual-studio-code vscode-settings


【解决方案1】:

万一其他人偶然发现这一点,我将发布我的脑死亡解决方案(插入面部手掌表情符号)。在终端窗口的Debug Console 选项卡中,我在 2-3 小时内无法弄清楚发生了什么,因为我的输出为零。原来我曾尝试使用过滤器文本框过滤文本。由于没有任何内容与我的过滤器文本匹配,因此没有显示任何内容。然后我意识到我在下面表示的文本框中有一些文本。希望这个解决方案可以避免其他人头疼。

【讨论】:

  • 发生在最好的情况下,这是一个非常常见的原因,很容易被忽略,我也将它添加到答案中。谢谢老哥!
【解决方案2】:

另一个常见的原因是使用调试控制台右上角的过滤框,如果您输入错误,它只会显示包含您输入内容的单词,而隐藏其他所有内容。正如@jaredbaszler 所述。


代码是由另一个队友传下来的,在检查 MyApp 状态后,我在 initState 中发现了这个,它记录了所有错误,并且没有显示在调试控制台中。

 @override
  void initState() {
    super.initState();
    getLocale();
    configLoading();
    FlutterError.onError = (details, {bool forceReport = false}) {
      sentry.captureException(
        exception: details.exception,
        stackTrace: details.stack,
      );
    };
  }

删除它后,我很高兴看到错误以及它们发生的确切位置。几个月前我发现了这一点,并发布了答案,以防有人遇到它。现在看起来很简单也很有意义,但我错过了。

【讨论】:

    猜你喜欢
    • 2020-01-04
    • 2020-11-10
    • 2021-04-13
    • 2022-12-18
    • 2020-10-22
    • 2019-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多