Debug the boards with Ozone

This section requires the embedXcode+ edition and a board supported by Segger J-Link.

This section applies for all the compatible supported by the Segger J-Link programmer-debugger with the Ozone application.

Ozone has been tested successfully with the Arduino Due and the Adafruit Feather nRF52832 and nRF52840 boards.

Because the Adafruit Feather nRF52 boards run on FreeRTOS, J-Link requires specific plug-ins. Ozone manages FreeRTOS better than the command-line J-Link utility and is thus strongly recommended.

For more information about the debugging tools,

Define a breakpoint

The Ozone application supports the breakpoints defined from Xcode, with conditions and actions.

However, the actions are limited to printing the message entered, without the value of the variables.

In the example, i is odd will be printed as i is odd, not 1 is odd or 3 is odd.

The Ozone application provides its own interface to define breakpoints and watchpoints.

For more information on how to use Ozone,

Configure specific boards

Some boards require a specific hardware or software configuration before debugging.

Launch a debugging session

Before launching a debugging session, select the connection, either though a USB cable or over-the-air through WiFi or Ethernet over USB.

To launch a debugging session,

  • Select the board Arduino Due (Ozone), Adafruit Feather nRF52832 s132v611 (Ozone) or Adafruit Feather nRF52840 s140b611 (Ozone).

  • Select the Debug target and press Run.

embedXcode builds and links the project, uploads it to the board, generates the parameters for debugging and launches the Ozone application.

  • Click on Yes to continue.

The main Ozone window shows the files, breakpoints, functions, console, source code, disassembly, watchpoints, local data and call stack.

For more information on how to use Ozone,

End and quit a debugging session

To end and quit the debugging session,

  • Call the menu Ozone > Quit Ozone or press Cmd+Q.