Contents

Debugging Dart web apps

您可以使用Dart IDEDart DevTools和浏览器工具(例如Chrome DevTools)来调试Dart Web应用程序.

  • 要调试应用程序的逻辑,请使用IDE,Dart DevTools或浏览器工具. 与浏览工具相比,Dart DevTools在检查和自动重新加载Dart代码方面具有更好的支持.
  • 要调试应用的外观(HTML / CSS)和性能,请使用IDE或浏览器工具(例如Chrome DevTools).

Overview

要提供您的应用程序,请使用webdev serve (在命令行或通过您的IDE)启动Dart开发编译器( dartdevc ). 要启用Dart DevTools,请添加--debug--debug-extension选项(在命令行或通过您的IDE):

$ webdev serve --debug

使用webdev--debug标志运行应用程序时,可以通过按Alt + D (或在Mac上为Option + D )打开Dart DevTools.

要打开Chrome DevTools,请按Control + Shift + I (或在Mac上为Command + Option + I ). 如果要使用Chrome DevTools调试应用程序,则可以使用源映射显示Dart源文件,而不是dartdevc生成的JavaScript. 有关使用Chrome DevTools的更多信息,请参阅Chrome DevTools文档.

要使用Dart DevTools或Chrome DevTools调试Dart网络应用,您需要以下软件:

如果您需要调试dart2js生成的代码,或者无法使用Chrome浏览器进行调试,请参见dart2js调试部分中的提示.

Getting started with Dart DevTools

This section leads you through the basics of using Dart DevTools to debug a web app. If you already have an app that’s ready to debug, you can skip creating the test app (step 1), but you’ll need to adjust the instructions to match your app.

  1. 可选:克隆Webdev存储库,因此您可以使用其示例应用程序来玩Dart DevTools.

  2. 可选:安装Dart调试扩展程序,以便您可以运行应用程序并在已经运行的Chrome实例中打开Dart DevTools.

  3. 在应用程序的顶级目录中,运行pub get获取其依赖项.

    $ cd example
    $ pub get
    
  4. 在命令行上使用IDE或webdev使用dartdevc编译并提供应用程序.

    如果您在命令行使用webdev,则要使用的命令取决于您是否要(或需要)在已经运行的Chrome实例中运行应用程序和调试器.

    • 如果您已安装Dart Debug Extension,并且想使用Chrome的现有实例进行调试:

      $ webdev serve --debug-extension
      
    • 否则,请使用以下命令,该命令将启动Chrome的新实例并运行该应用程序:

      $ webdev serve --debug
      
  5. 如果您的应用尚未运行,请在Chrome浏览器窗口中将其打开.
    例如,如果您使用不带参数的webdev serve --debug-extension ,请打开http://127.0.0.1:8080 .

  6. 打开Dart DevTools调试当前窗口中正在运行的应用程序.

    • 如果已安装Dart Debug Extension,并且您--debug-extension标志用于webdev ,请单击Dart徽标. 飞镖徽标 在浏览器窗口的右上方.

    • 如果您使用--debug标志webdev ,按Alt + d(Option + d在Mac).

    出现Dart DevTools窗口,并显示应用程序主文件的源代码.

  7. 通过单击其代码行之一的左侧,在计时器或事件处理程序中设置断点.
    例如,单击事件处理程序或计时器回调中第一行的行号.

  8. 触发导致函数调用的事件. 执行在断点处停止.

  9. 在" 变量"窗格中,检查变量的值.

  10. 恢复脚本执行,然后再次触发事件或按Pause . 执行再次暂停.

  11. 尝试使用" 跳入" ," 跳越"和" 跳出"按钮逐行浏览代码.

  12. 更改您的源代码,然后重新加载运行该应用程序的Chrome窗口. 该应用程序会快速重建并重新加载. 在解决1925问题之前,重新加载应用程序时会丢失断点.

  13. 单击" 日志记录"按钮以查看标准输出,标准错误和系统日志.

Getting command-line tool packages

如果您使用命令行而不是启用IDE或Dart的编辑器,则需要使用webdev工具 . 要使用Dart DevTools,您还需要devtools软件包. 使用pub获取以下工具:

$ pub global activate webdev
$ pub global activate devtools

如果您正确设置了PATH环境变量,则现在可以在命令行上使用以下工具:

$ webdev --help
A tool to develop Dart web projects.
...

有关设置PATH的信息,请参见pub global文档.

每当您更新Dart SDK时,请通过再次激活它们来更新工具:

$ pub global activate webdev     # update webdev
$ pub global activate devtools   # update devtools

Resources

有关更多信息,请参见以下内容:

by  ICOPY.SITE