# 335 DebugToolbar · 调试工具栏 ## 用途 调试会话的继续/暂停、单步跳过、单步进入、单步跳出、重启与停止,按会话状态禁用不适用的按钮,并注册常用快捷键。 ## 最小示例 ```go state := mujica.DebugPaused view := func(c *ui.Context) { mujica.Use(c, mujica.Settings{}) switch mujica.DebugToolbar(c, state, mujica.DebugToolbarOptions{}).Action { case mujica.DebugContinue: state = mujica.DebugRunning case mujica.DebugStop: state = mujica.DebugStopped } } ui.Render(view, 400, 300, 1) ``` ## 参数 `func DebugToolbar(c *ui.Context, state DebugState, opts DebugToolbarOptions) DebugToolbarResult`。`DebugEnabled(state, action)` 给出禁用规则:运行中只能暂停、重启、停止;暂停时可继续、单步、重启、停止;停止时只能“开始”(`DebugContinue`)。 | 字段 | 类型 | 默认值 | 含义 | | --- | --- | --- | --- | | `state` | `DebugState` | — | `DebugStopped`、`DebugRunning`、`DebugPaused`;越界 panic。 | | `Disabled` | `bool` | false | 全部按钮与快捷键无效。 | ## 状态 运行中第一个按钮显示暂停,否则显示继续(停止时名为“开始”);不适用的按钮禁用;按钮悬停、按下、焦点环与带快捷键的提示。 ## 事件 `Action`:本帧请求的 `DebugAction`,无则为 `DebugNone`。 ## 键盘操作 - F5 继续/开始,F6 暂停,F10 单步跳过,F11 单步进入,Shift+F11 单步跳出,Cmd/Ctrl+Shift+F5 重启,Shift+F5 停止(窗口内全局,焦点控件优先处理)。 - 工具栏是一个 Tab 停靠点,←/→ 在按钮间移动。 ## 限制 - 快捷键固定,不可配置;同一窗口只放一个调试工具栏。 - 图标为自绘 SVG。