BKPT LabsDOCS/BKPT DEBUG/DATA SOURCES, TIMESTAMPS, AND PERFORMANCE BKPT DEBUG · VS CODE
BKPT DEBUG · USER GUIDE

Data sources, timestamps, and performance

Before interpreting a graph or event, ask two questions: “who produced this value?” and “what does its time mean?” BKPT shows small source badges in the debugging and trace views. Hover a badge for the details the producer actually supplied.

Choose the right observation

YOUR QUESTION START HERE WHAT THE RESULT MEANS
What is this variable at this breakpoint?Variables, Registers, or a peripheral halt snapshotA value read after the CPU stopped
How does this value change while running?Symbols / Traces or peripheral pollingSamples at probe-read times; intermediate changes may be missed
Which CPU write changed it?Data watchpoints, writeA hardware-assisted stop on the watched location
What CPU accesses happened without stopping?DWT Trace in Symbols or Peripheral RegistersMatching access events delivered through SWO
What did firmware print?ITM ConsoleBytes firmware explicitly wrote to enabled stimulus ports
Where does the CPU spend time?PC SamplingA statistical profile, not a complete instruction trace
What path executed before a stop?ETM History on a supported target and sinkDecoded execution history, with capture limits and gaps

Read the source badges

Live values and graphs carry observation badges so sampled data is distinguishable from on-chip events.
LIVE VALUES AND GRAPHS CARRY OBSERVATION BADGES SO SAMPLED DATA IS DISTINGUISHABLE FROM ON-CHIP EVENTS
BADGE MEANING IMPORTANT LIMIT
Hardware eventOn-chip debug/trace hardware observed an event, such as a DWT access or exceptionDWT watches CPU accesses; DMA and autonomous peripheral changes need not emit one
Probe sampledThe host/probe periodically read a value or sampled PCAdds debug-bus traffic and can miss activity between samples
Halt snapshotThe debugger read after a genuine stopThe CPU is halted, but DMA/peripherals may still change unless separately frozen
Firmware generatedFirmware explicitly emitted data, such as ITM text or recorder eventsTransporting it through hardware does not turn it into a hardware-generated event
Source unknownThe producer or older recording did not provide source metadataDo not infer accuracy or a loss-free capture from missing metadata

POLL and DWT are compact mechanism labels in peripheral/acquisition controls. Halt and Trace in Data watchpoints say what an address match will do. Saved / Pending / Armed / Error say whether the request was accepted. These labels answer different questions and can appear together.

Changing a watch from polling to DWT does not relabel its old points as hardware events. BKPT keeps observation provenance with the buffered data. A paused snapshot does not extend a running graph as if the firmware were still being sampled.

What a timestamp means

The hover may show these timestamp-source names:

SOURCE INTERPRETATION
host-replyHost time when a read reply arrived, including transport delay
host-poll-sweepHost timing for a polling sweep; values in a sweep are not necessarily simultaneous
host-bucketHost-arrival activity grouped into time buckets, such as sampled function lanes
decoderTime supplied by the trace decoder; read the accompanying detail and trace health
recordingTime supplied by a recording; accuracy depends on the capture's clock and metadata
unknownNo trustworthy timestamp-source detail was supplied

Requested interval is the rate you asked for. Actual interval is the measured/delivered interval when available. Probe traffic, USB delivery, and host scheduling can make them differ. unknown means unreported, not zero or “exact.” DWT tracks aligned with host activity are approximate; do not subtract cross-source timestamps and call the result precise latency.

The ITM Timestamps dropdown controls generation of local timestamp packets on the target. It does not make all events in all views share a perfect clock. Local timestamps may be delayed, and the live console's numeric time alone does not establish precise per-character timing.

Loss, overflow, and health

Dropped samples and overflow refer to the named series or stream scope. A stream-wide overflow says the shared transport lost information; it cannot identify exactly how many values one graph lost. “None reported” describes the available counters; it is not proof that every physical event was captured. Missing counters remain unknown.

In Hardware Trace, inspect SWO load and the overflow, rejected, clipped, resync, and corrupt-byte counts. A degraded stream can still draw plausible graphs and event counts. Reduce the enabled sources, lengthen the PC sample interval, reduce firmware output, or adjust the supported SWO rate before using such a capture to compare counts or timing.

Events: retain first, display when opened

The Events view shows received ITM activity with each port's source, firmware-generated badge, and filtering controls.
THE EVENTS VIEW SHOWS RECEIVED ITM ACTIVITY WITH EACH PORT'S SOURCE, FIRMWARE-GENERATED BADGE, AND FILTERING CONTROLS

Open Views → Events to inspect collected debug events. Use its search and kind filter to narrow the list, and follow to track new rows. Selecting a navigable event reveals its relevant source/view. An ITM event opens the matching console port and selects its line, including when a different port was previously filtered.

CONTROL OR COLUMN HOW TO READ IT
all kindsShow every kind, or choose a kind already present in the buffer: session, ITM, PC sampling, exception, trace, fault, or ETM activity
search…Match text in the kind, source, detail, or event key; combines with the kind filter
receivedTime since the journal reset, measured when the webview received the event. This is host arrival time, not target execution time.
source / detailThe source and event description; hover the row for producer timing and provenance when supplied
×N in a detailRepeated activity was coalesced into one row; the row count is not necessarily the number of underlying events
followStay at the latest rows. Scrolling away from the bottom turns it off.
clearDiscard retained journal rows; active sources can immediately add new ones

The live debug Events list retains the latest 20,000 rows in a bounded buffer. Closing and reopening it keeps retained data and its filter, selection, and position. Older rows roll off as the buffer fills; this is not unlimited archival storage. A recording has its own data and limits. Clearing the view is a local display/data-buffer action, not a command to erase target memory.

Keep VS Code responsive

  • Hide tiles you are not using. Closed views do not draw their contents; hidden layouts suspend presentation frames. Timeline preparation and offscreen graph work are deferred until needed.
  • Hiding is not disabling acquisition. An enabled poll watch still uses the probe, and an enabled hardware trace source still produces data. Turn off the source or remove/disable its watch to stop that work.
  • Globals and variable children load on demand. Keep expression watches focused on the values you need; they are evaluated while the inspection is visible and halted.
  • Lower polling rates when a value changes slowly. Requested rate is not a guarantee, especially over a busy or remote probe connection.
  • Enable only the DWT/ITM sources needed for the question. PC samples, exceptions, data watches, counters, and text share SWO capacity.

Opening a tile should not require another hardware inventory scan. Run a new Target Scan when the board/probe or trace capability context changes, or when the recovery workflow asks for one.

While paused, unchanged polled values produce one halt snapshot instead of repeated Events rows. Explicit polling can still detect DMA or peripheral changes. Hardware packets buffered before Pause may finish decoding briefly afterward; their arrival does not mean the core resumed.