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 中不显示控制台
Kotlin print() 方法在 Flutter 中不起作用
调试时 Flutter VS Code 中的热重启(以前是完全重启)