Skip to content

Debugging overview

The nRF Connect for VS Code extension pack provides a custom debugger to help troubleshoot problems. It is integrated with the VS Code and allows you to analyze the thread, memory, and peripherals of your application.

Note

The features listed on this page require manually enabling debugging options. If you start debugging without enabling these options, the debugger will start with a limited set of features.

nRF Debug

The nRF Debug tool is the recommended debugger for nRF Connect SDK applications. The debugger is based on Microsoft's debug adaptor.

The debugger comes with the following features:

  • Dedicated nRF Debug panel in the Panel View with sections dedicated to thread and memory analysis (Thread Viewer and Memory Viewer, respectively).
  • Dedicated Peripherals View in the Debug Sidebar.
  • Customizable launch and debug actions (see Advanced debugging techniques page for more information).
  • Integration with applications based on the nRF Connect SDK.

Thread Viewer

The Thread Viewer shows information about specific threads in your application, when applicable.

nRF Debug Thread Viewer

When debugging starts, the nRF Debug tool pulls the threads out of the kernel and creates an entry in the Viewer for each thread it can find. The threads are listed in the order that they were started. Their state uses Zephyr's thread states and is only updated when the debugger is stopped. While the device is running, the View is frozen. Any state in the table is stale until execution is stopped again.

See the Panel Views page for more information about Thread Viewer UI features.

Memory Viewer

The Memory Viewer displays information about memory content.

nRF Debug Memory Viewer

To display the memory content in your application with the symbol overlay, you must enable the debug symbol when adding the build. Failing to do so will just list the raw memory in the Memory Viewer.

You can review different Regions of memory data by clicking on the different tabs across the top of the View. See the Panel Views page for more information about Memory Viewer UI features.

You can also add a custom memory section to the Memory Viewer, which functions as a shortcut view of the configured memory address.

Peripherals View

When debugging starts, the nRF Debug tool shows a memory map of peripherals from your device's SVD file and displays the values of their registers and fields. You can use this information to monitor and troubleshoot your hardware behavior.

The Peripherals View appears in the Debug Sidebar when debugging starts.

Peripherals View