使用调试器

入门

DevTools 包含一个完整的源代码级调试器,支持断点、单步调试和变量检查。

当您打开调试器选项卡时,您应该会看到在调试器中加载的应用主入口点的源代码。

为了浏览更多应用源代码,请点击 (右上角)或按 Ctrl / Cmd + P。这将打开库窗口,并允许您搜索其他源文件。

Screenshot of the debugger tab

设置断点

要设置断点,请在源代码区域中点击左边界(行号标尺)。点击一次会设置一个断点,该断点还应显示在左侧的 断点 区域中。再次点击会移除断点。

调用堆栈和变量区域

当您的应用遇到断点时,它会在此处暂停,并且 DevTools 调试器会在源代码区域中显示暂停的执行位置。此外,调用堆栈变量 区域会填充暂停的隔离区的当前调用堆栈,以及所选帧的局部变量。在 调用堆栈 区域中选择其他帧会更改变量的内容。

变量 区域中,您可以通过切换打开各个对象来查看其字段,以检查它们。将鼠标悬停在 变量 区域中的对象上会调用该对象的 toString() 并显示结果。

逐步执行源代码

暂停时,三个逐步执行按钮会变为活动状态。

  • 使用逐步进入逐步进入方法调用,在该调用方法中的第一条可执行行处停止。
  • 使用逐步执行逐步执行方法调用;这将逐步执行当前方法中的源代码行。
  • 使用逐步退出逐步退出当前方法,而不会在任何中间行处停止。

此外,恢复按钮会继续常规执行应用程序。

控制台输出

正在运行的应用程序的控制台输出(stdout 和 stderr)显示在控制台中,位于源代码区域下方。您还可以在日志记录视图中查看输出。

异常中断

要调整异常中断行为,请切换调试器视图顶部的忽略下拉菜单。

仅在应用程序代码认为断点未捕获时,在未处理的异常中断才会暂停执行。在所有异常中断会使调试器暂停,无论应用程序代码是否捕获断点。

已知问题

对 Flutter 应用程序执行热重启时,用户断点会被清除。

其他资源

有关调试和分析的更多信息,请参阅调试页面。