内容

Dart DevTools

Dart DevTools 是一套用于 Dart 和 Flutter 的调试和性能工具。这些工具作为 dart 工具的一部分进行分发,并与 IDE、dart runwebdev 等工具交互。

Screenshot of DevTools' Memory page

下表显示了您可以与常见 Dart 应用类型一起使用的工具。

工具Flutter 移动或桌面Flutter Web其他 Web命令行
调试器已完成已完成已完成已完成
日志查看器已完成已完成已完成已完成
应用大小工具已完成已完成
CPU 分析器已完成已完成
内存查看器已完成已完成
网络查看器已完成已完成
性能查看器已完成已完成
Flutter 检查器已完成已完成

有关使用 Dart DevTools 与每种应用类型(例如,命令行应用)的信息,请点击顶行中的应用类型。有关各个工具(例如,调试器)的详细信息,请点击左侧列中的工具名称。

如表所示,调试器和日志查看器是 Dart DevTools 中唯一可用于所有应用类型的部分。Web 应用无法使用时间线、内存和性能查看器;相反,它们可以使用浏览器工具,例如 Chrome DevTools。 Flutter 检查器仅适用于 Flutter 应用;其他 Web 应用应使用浏览器工具,例如 Chrome DevTools。

使用 DevTools 与命令行应用

#

您可以使用 DevTools 执行源代码级调试或查看正在运行的命令行应用的一般日志和诊断信息。

1. 启动目标应用

#

使用 dart run --observe 命令执行要调试或观察的 Dart 命令行应用的主文件。可以选择添加 --pause-isolates-on-start,这将在脚本开始时自动中断执行。

$ cd path/to/dart/app
$ dart run --pause-isolates-on-start --observe main.dart

The Dart VM service is listening on http://127.0.0.1:8181/afZySiNbDPg=/
The Dart DevTools debugger and profiler is available at: http://127.0.0.1:8181/afZySiNbDPg=/devtools/#/?uri=ws%3A%2F%2F127.0.0.1%3A8181%2FafZySiNbDPg%3D%2Fws

注意 Dart DevTools 调试器和分析器 URL。您在下一步中将需要它。

2. 打开 DevTools 并连接到目标应用

#

复制 Dart DevTools 调试器和分析器 URL,并将其粘贴到 Chrome 浏览器窗口的地址栏中。

当您在 Chrome 中访问该 URL 时,Dart DevTools UI 将出现,显示有关目标应用的信息。点击 调试器 以开始调试应用。

使用 DevTools 与 Flutter 应用

#

有关在任何平台(包括 Web)上使用 DevTools 与 Flutter 应用的详细信息,请参阅 flutter.dev 上的 DevTools 文档。

使用 DevTools 与非 Flutter Web 应用

#

要启动 Web 应用以便您可以使用 Dart DevTools,请使用 webdev serve 命令以及 --debug--debug-extension 标志

$ webdev serve --debug

有关更多信息,请参阅 调试 Dart Web 应用