Skip to main content

All Properties

This page lists all launch.json properties supported by mcu-debug, organized by category.

note

Full property reference coming soon. See the launch.json schema in the Reference section.

VS Code IntelliSense provides inline documentation and autocompletion when editing launch.json. Hover over any property for its description and valid values.

Required

PropertyDescription
typeMust be "mcu-debug"
request"launch" to start a fresh session, "attach" to connect to a running gdb-server
servertypeGDB server type: "openocd", "jlink", "pyocd", "stlink"
executablePath to the ELF file with debug symbols

GDB Server (Common)

PropertyDescription
serverPathPath to the gdb-server binary; defaults to finding it on PATH
serverArgsExtra command-line arguments to pass to the gdb-server
gdbServerConsolePortTCL port used by OpenOCD; also used for the server console in VS Code
searchDirAdditional directories to search for OpenOCD config files
configFilesOpenOCD config files (interface and target)
deviceJLink device name (JLink only)
targetIdpyOCD target ID (pyOCD only)
boardIdpyOCD board ID (pyOCD only)

GDB

PropertyDescription
gdbPathFull path to the GDB binary
toolchainPrefixPrefix for <prefix>-gdb, e.g. arm-none-eabi
debuggerArgsExtra arguments passed to GDB at startup
gdbTargetGDB RSP target host:port; defaults to localhost:<openocd-gdb-port>

Session Behavior

PropertyDescription
cwdWorking directory for the debug session
runToEntryPointSymbol name to run to after launch, e.g. "main"
breakAfterResetIf true, halt at the reset vector after a target reset
numberOfProcessorsNumber of CPU cores to debug (multi-core targets)
targetProcessorWhich processor index to attach GDB to (multi-core targets)
chainedConfigurationsLaunch additional debug configurations (for multi-core)

GDB Commands

PropertyDescription
preLaunchCommandsGDB commands to run before connecting to target
postLaunchCommandsGDB commands to run after session is established
overrideLaunchCommandsReplace the default launch sequence with custom commands
preAttachCommandsGDB commands to run before attaching (attach mode)
postAttachCommandsGDB commands to run after attaching
overrideAttachCommandsReplace the default attach sequence
overrideResetSequenceCustom GDB commands for target reset

Environment

PropertyDescription
envFilePath to a .env file with NAME=VALUE pairs
envObject with extra environment variables for the debug session

RTT

PropertyDescription
rttConfigRTT configuration block — see RTT for full details
rttConfig.enabledEnable RTT (true/false)
rttConfig.decodersArray of decoder configurations (port, type, label)

UART

PropertyDescription
uartConfigUART configuration block — see UART for full details
uartConfig.enabledEnable UART
uartConfig.uartsArray of UART port configurations (port, baud, label)

SWO

PropertyDescription
swoConfigSWO configuration block — see SWO for full details
swoConfig.enabledEnable SWO
swoConfig.cpuFrequencyCPU frequency in Hz (required for SWO clock divider calculation)
swoConfig.swoFrequencyDesired SWO output frequency in Hz
swoConfig.decodersArray of ITM channel decoder configurations

Remote

PropertyDescription
hostConfigRemote host configuration — see Remote Debugging
hostConfig.type"auto", "wsl", "docker", "ssh"
hostConfig.hostSSH hostname or alias (SSH mode only)

Other

PropertyDescription
svdFilePath to SVD file for Peripheral View
nameConfiguration display name
debugFlagsDebug output flags (e.g. {"gdbTraces": true})