Skip to main content

使用调试器

开始使用

#

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

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

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

调试器选项卡的屏幕截图

设置断点

#

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

调用栈和变量区域

#

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

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

单步执行源代码

#

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

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

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

控制台输出

#

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

在异常时中断

#

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

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

已知问题

#

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

其他资源

#

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