bakesheep/emberprobe-mcu-flash-debug/mcu-debug-control
Claude Code and agent skill by bakesheep/emberprobe-mcu-flash-debug
- community
Checking that the SKILL.md file is still in the repository.
Control the workspace debugger, manage source-line or function breakpoints, and inspect paused C/C++ task stacks, scopes, classes and STL objects through EmberProbe. Use for debugging controls, breakpoints, or frame-specific variable inspection.
Install
npx vskill@latest install bakesheep/emberprobe-mcu-flash-debug/mcu-debug-controlSKILL.md
MCU Debug Control
Use scripts/debug.js from this skill directory. It uses VS Code's debugger APIs and never reads or edits launch.json.
For paused C/C++ threads, stacks, scopes and object expansion, use scripts/inspect.js and read references/paused-inspection.md. For RTOS task states, priorities and stack fill estimates, use mcu-rtos. Inspection requires the native EmberProbe adapter.
C++ breakpoints accept .cpp source lines or a quoted, fully qualified function signature (for example --function "app::Worker::run(int)"). Prefer source lines when overloads or inlining make a function breakpoint ambiguous. A listed breakpoint is not proof that it has been verified at a firmware address; report adapter verification when available.
Before you run
- MCP first: if this session provides EmberProbe MCP tools (such as
debug_control), use them; the scripts here are the fallback. The authorization and hardware rules on this page apply to both. - Applies to: controlling the workspace debugger session (start/stop/pause/continue/step/restart) and managing source-line or function breakpoints.
- Requires: the EmberProbe Agent Bridge and VS Code's debugger APIs;
--startalso needs a complete EmberProbe debug configuration (ELF, probe, target, OpenOCD, SVD). - Preconditions: one control action in flight (else
DEBUG_CONTROL_BUSY— read status instead); pause needs a running target, continue/step need a paused target; breakpoints can be created before a session starts. - Side effects:
--startlaunches a session, resets the target and programs the ELF when Flash differs;--start --attachhalts the running target without reset or download; control actions change execution state;--stopends the session and returns once the managed OpenOCD server has released the probe (an unconfirmed server exit fails withDEBUG_SERVER_STOP_FAILEDand the probe stays owned); breakpoint mutations change VS Code breakpoints. - Success evidence: state-changing commands complete from the corresponding DAP state event. A
--status/--breakpointsread does not prove--startworks. On timeout, read status; never auto-resend.
For failure handling, retry limits, cross-skill routing, and result scoping, read ../_emberprobe/agent-workflow.md.
--start resets the target and programs the ELF when Flash differs. --start --attach keeps the running firmware instead: it halts the core where it is, without reset or download, so a hung or misbehaving target keeps its state for --status, inspect.js stacks and mcu-rtos. Prefer it when the user wants to know where a running target is stuck, and resume with --continue afterwards unless they want it to stay paused. Attach programs nothing, so its result reports firmwareConsistency; on ELF_TARGET_MISMATCH, warn that source lines and symbols may not match the running firmware.
Use one action per call. --start reuses EmberProbe's configured ELF, probe, target, OpenOCD, and SVD. State-changing commands complete from the corresponding DAP state event even if debugger's request promise responds late, and they do not retry after a timeout. Only one control action may be in flight; on DEBUG_CONTROL_BUSY, read status instead of issuing concurrent commands. Pause requires a running target; continue and stepping require a paused target. Restart is available only when debugger advertises it.
Use optional --thread <positive-id> only with debug control actions (--pause, --continue, stepping, --restart, or --stop). Status, start, breakpoint listing, and breakpoint mutation commands do not accept a thread ID.
If status lists multiple sessions, select one explicitly before control or memory access. --select accepts a session ID or an unambiguous group/core in the requested workspace; it performs no hardware operation. Selection is rejected during writes or control actions. --stop closes the selected member only; shared OpenOCD groups stop their server after the last member exits. Group members do not advertise restart: stop every core before starting a new launch that resets the device. Grouped scalar reads/writes require the sidebar ELF to match the selected core. Do not guess a core or reuse another session's write confirmation.
If a control action returns DEBUG_CONTROL_TIMEOUT, run --status and do not automatically repeat the original command. If the target is still running and an explicit --pause or --restart also times out, explain that debugger may be stuck and ask before running --stop, followed by --start, to rebuild the session.
Breakpoints
Breakpoint mutation actions are --add-breakpoint, --remove-breakpoint, --enable-breakpoint, and --disable-breakpoint. Select either --source <workspace-file> --line <1-based-line> [--column <1-based-column>] or --function <name>. Optional --condition, --hit-condition, and --log-message are accepted when adding. Breakpoints are managed by VS Code, remain visible in its Breakpoints view, and can be created before a session starts.
If EmberProbe reports DEBUG_SESSION_CONFLICT, do not guess which session to control. Base all failure explanations on the structured stderr diagnostic.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/mcu-debug-control/SKILL.md
Popularity
- Repository stars
- 62
- Repository forks
- 6
- 7-day trend score
- 0
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/bakesheep/emberprobe-mcu-flash-debug/mcu-debug-control)