跳至主要内容

使用调试器

入门

#

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

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

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

Screenshot of the debugger tab

设置断点

#

要设置断点,请点击源代码区域中的左侧边距(行号标尺)。单击一次设置断点,该断点也应该显示在左侧的断点区域中。再次单击将删除断点。

调用栈和变量区域

#

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

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

单步执行源代码

#

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

  • 使用步入进入方法调用,在被调用的方法中的第一行可执行代码处停止。
  • 使用步过跳过方法调用;这将在当前方法中遍历源代码行。
  • 使用步出退出当前方法,无需在任何中间行停止。

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

控制台输出

#

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

在异常时中断

#

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

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

已知问题

#

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

其他资源

#

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