我无法从Flutter Web应用程序中获取任何错误输出。使用
打印到控制台print('some text');
可以正常工作,但是不会出现任何错误。例如,引发异常
throw new Exception('testexception');
在浏览器控制台和IntelliJ中均不会产生任何输出。 Chrome中的日志级别设置设置为[Info, Warnings, Errors]
。
我什至尝试实现自定义错误处理程序
void main(){
FlutterError.onError = (FlutterErrorDetails details) {
print('main.onError: details: ${details.toString()}');
};
runApp(new MyApp());
}
但是没有运气。我必须在某处启用错误输出吗?我在文档中找不到有关此信息。
我尝试使用Dart Dev Server
(在IntelliJ中使用Run
时启动)以及从终端调用webdev serve
和webdev serve --auto restart
来运行应用程序。
答案 0 :(得分:0)
您是否想看看这是否是已知问题? Flutter-web仅处于开发人员预览级别。如果没有当前问题,请创建一个,并提供最少的“如何复制”。我确信Flutter-web团队会很感激。
答案 1 :(得分:0)
Flutter Web当前无法调试。将生成一个main.dart.js
,您可以使用Chrome控制台对其进行调试。
“调试” 的一个很酷的技巧是在浏览器中显示一个弹出窗口:
import 'dart:js' as js;
@override
void initState() {
super.initState();
js.context.callMethod("alert", <String>["Your debug message"]);
}
答案 2 :(得分:0)
我在IDE中都尝试过,并且在Intellij中正常工作,但在VSCode中却没有。它显示为白色的空白屏幕,使其尝试再次运行 private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked)
{
textBox1.Text = textBox1.Text.Replace("crosshair 0", "crosshair 1");
}
else
{
textBox1.Text = textBox1.Text.Replace("crosshair 1", "crosshair 0");
}
}
,然后在空白屏幕中等待2分钟。
并检查视觉代码中颤振的SDK路径是否正确。