Skip to content
| Marketplace
Sign in
Visual Studio Code>Debuggers>MCU-Debug Proxy ServerNew to Visual Studio Code? Get it now.
MCU-Debug Proxy Server

MCU-Debug Proxy Server

Preview

mcu-debug

|
118 installs
| (0) | Free
A proxy server for MCU-Debug extension to handle remote VSCode debug sessions via WSL, Docker, SSH.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

MCU-Debug Proxy Server

Pre-release software

There is no release version yet. In VS Code, install using the dropdown beside Install and choose Install Pre-Release Version — plain Install reports that no release exists before offering you the pre-release, which is about the release channel rather than a broken listing.

Companion extension for MCU-Debug. Install it on the machine your debug probe is physically plugged into, and MCU-Debug can drive that probe from an editor running somewhere else — inside WSL, a dev container, or on another machine over SSH.

This extension does nothing on its own. It has no UI and no debug configuration of its own. It exists so that the main MCU-Debug extension can reach a probe that is not on the same machine as your source code.

Do I need it?

Your setup Do you use it? Install it on
Editor and probe on the same machine, no container No —
Workspace in WSL, probe plugged into the Windows host Yes Windows
Workspace in a dev container, probe on the host Yes The host
Workspace on your laptop, probe on a lab server Yes The lab server

You most likely arrived here because MCU-Debug offered to install it. MCU-Debug looks for this extension at runtime, and only for a configuration that actually needs it — one reaching a probe on a different machine than your workspace. When it is needed and missing, you are told why and offered the install. Purely local debugging never asks, and having it installed anyway costs you nothing: no UI, nothing running.

⚠️ Uninstalling it no longer breaks MCU-Debug, but keeping it is still the easier path. Up to v0.1.14 this extension was a declared dependency and VS Code refused to load MCU-Debug without it. That is gone — it could never be satisfied in a remote workspace, which broke MCU-Debug there entirely. Today a missing proxy only costs you a prompt at the moment you next need remote debugging. The reason to leave it installed is that the two are versioned in lockstep and are expected to match: kept in place, it updates alongside MCU-Debug on its own.

How it works

Your workspace — source, compilers, launch.json, GDB — stays where it is. The probe stays where it is. This extension runs next to the probe and presents it to the debug adapter as though it were local.

   Workspace  (WSL / container / laptop)          Probe host  (Windows / lab server)
  ┌──────────────────────────────────┐          ┌──────────────────────────────────┐
  │  Source, compilers, launch.json  │          │  MCU-Debug Proxy Server          │
  │  MCU-Debug extension             │          │    (this extension)              │
  │  Debug Adapter                   │          │        │                         │
  │  GDB                             │          │        ▼                         │
  │  Views: RTT, SWO, UART,          │          │  gdb-server (OpenOCD, J-Link…)   │
  │         Memory, RTOS, SVD        │          │        │                         │
  │            │                     │          │        ▼                         │
  │       Proxy Client ──────────────┼──────────┼──▶  Debug Probe  ──▶  MCU        │
  └──────────────────────────────────┘          └──────────────────────────────────┘

The proxy owns the gdb-server lifecycle on the probe side and tunnels GDB, RTT, SWO and serial traffic back to the workspace, so telemetry appears in your editor exactly as it would locally.

Where it gets installed

VS Code decides this for you, and it is worth knowing why it looks backwards. This extension is marked as a UI extension, so when you open a folder in WSL or a container, VS Code keeps it on your host machine and copies only the main MCU-Debug extension into the remote environment. That is the correct split: the proxy has to run where the probe is.

For WSL and dev containers, the connection is detected automatically. For a lab server, point hostConfig at it in your launch.json and the extension deploys and starts what it needs over SSH.

Supported topologies

Topology Use case Setup
WSL Linux dev environment, probe on the Windows host Auto-detected; minimal config
Docker Dev container, probe on the Docker host Auto-detected; hostConfig.type: "auto"
SSH / lab server Probe on a shared server, you on a laptop Explicit hostConfig with a host name

Full guide: Remote Debugging.

Commands

Normally you never invoke these — the main extension starts what it needs when a debug session begins. They exist for diagnostics and for setups that need a proxy running ahead of time.

Command Purpose
Start MCU Debug Proxy Server Start the proxy manually on this machine
Start Reverse Tunnel Establish the tunnel back to the workspace machine
Get Remote SSH Host Report the SSH host VS Code is connected to

Status

This extension is in preview and is versioned in lockstep with MCU-Debug, so the two always install as a matched pair. Please report anything that misbehaves — remote setups vary enormously and real-world reports are the most useful thing we can get.

  • Issues
  • Changelog

License

Apache-2.0. See LICENSE.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft