VS 代码在调试控制台中不显示 Flutter 错误

Posted

技术标签:

【中文标题】VS 代码在调试控制台中不显示 Flutter 错误【英文标题】:VS code does NOT show Flutter errors in debug console 【发布时间】: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,如果是这样的话,你是对的,但原因不同。不过谢谢! 【参考方案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,
      );
    ;
  

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

【讨论】:

以上是关于VS 代码在调试控制台中不显示 Flutter 错误的主要内容,如果未能解决你的问题,请参考以下文章

Poco::WindowsConsoleChannel 在 VS2008 中不显示控制台

VS Code 无法识别 Flutter 中的单元测试

Kotlin print() 方法在 Flutter 中不起作用

调试时 Flutter VS Code 中的热重启(以前是完全重启)

VS2019,调试的时候控制台无法显示输出,求教各位大佬这是怎么回事?

好长时间没用VS ,发现新建的c#控制台项目按F5进行调试没有窗口显示,