BKPT LabsDOCS/BKPT DEBUG BKPT DEBUG · VS CODE
BKPT DEBUG · USER GUIDE

BKPT Debug

BKPT Debug is a VS Code extension for STM32 firmware over a plain ST-LINK or J-Link probe. One panel, the Debug Layout, holds everything: step through your code, catch and explain faults, see where the CPU spends its time, watch variables live, and record RTOS traces. No vendor GDB server, no SEGGER software, no CubeProgrammer: the probe is driven directly by BKPT's own tools, bundled with the extension.

The Debug Layout halted at main: the code center stage, the call stack and breakpoints on the left, registers and PC sampling on the right.
THE DEBUG LAYOUT HALTED AT MAIN: THE CODE CENTER STAGE, THE CALL STACK AND BREAKPOINTS ON THE LEFT, REGISTERS AND PC SAMPLING ON THE RIGHT

This guide is written in the order you meet things:

  1. Getting started: from a programmed board to your code halted at main, the keys, and every setting.
  2. Debugging: run control, breakpoints, the call stack, registers and memory, and how the layout's tiles work.
  3. PC sampling: live CPU load, hot functions and per-line heat while the target runs, with no instrumentation.
  4. Live watch: variables from your ELF as values and graphs, running, halted or stepping.
  5. Fault Analyzer: a fault stops the target at the exception and the debugger tells you why.
  6. Hardware trace: the SWV sources (on-chip PC sampling, exception trace, the ITM console) inside a debug session.
  7. Recording a trace: RTOS and event traces with the ViewAlyzer views inside VS Code.
  8. AI assistants: the bundled MCP server.

One panel, tiled

Everything is a tile in the Debug Layout. The default arrangement is the call stack and breakpoints on the left, your code in the centre, registers and PC sampling on the right. Drag a tile by its title onto the edge of another to split, onto its header to tab, or to the strip to move it; the arrangement is remembered per workspace. The Views menu in the strip shows or hides tiles:

TILE WHAT IT SHOWS NEEDS
Call StackFrames with their locals; click a frame to select ita session, halted
BreakpointsEvery breakpoint with the debugger's verdict on it
CodeThe halted line, the selected frame, per-line sample counts, click-to-toggle breakpoints; files as tabs in tiling editor groups
RegistersCore registers, changed ones marked, the FPU bank folded belowa session, halted
PC SamplingLive CPU load, the hottest functions, the source linePC sampling on
Fault AnalyzerThe caught fault explained, register by registera session
Memory256 bytes at an address expression, hex and ASCII, editable while halteda session, halted
Hardware TraceThe Profiling Source switch and the on-chip trace controlsa session
ITM ConsoleText the firmware prints on ITM stimulus portsSWV over SWO
ExceptionsTraced exception countsSWV over SWO
Record, SymbolsThe trace recorder's form and the ELF symbol picker
Traces, Timeline, Events, CPU, Task Details, HealthThe ViewAlyzer views, on a recording or on the live streams of a sessiona recording or a session

What you need

  • An ST-LINK or J-Link probe. Nothing to install for either; for J-Link, set your MCU's SEGGER device name in Settings.
  • arm-none-eabi-gdb: the Arm GNU toolchain or STM32CubeCLT on your machine. Found automatically; a setting is there for unusual places. Tracing and live watch work without it.
  • The board programmed with your firmware, by your usual tool. BKPT Debug never flashes, and tells you when the firmware on the target does not match your ELF.

Not sure what is missing? Run BKPT Debug: Check Setup Health from the Command Palette.

Free version

The bundled engine runs unactivated, which caps capture length and the number of user traces shown, with a short cooldown between captures; the extension always shows the exact limits in effect. Viewing recordings and debugging are unlimited. Already own ViewAlyzer? Run BKPT Debug: Use My Licensed ViewAlyzer and your limits apply.