@@ -97,6 +97,7 @@ The following automatically generated properties can be used globally in all con
9797 intent, ` -DARDUINO_LIB_DISCOVERY_PHASE ` was added to ` recipe.preproc.macros ` during library discovery in Arduino
9898 Builder 1.5.3/Arduino CLI 0.10.0. That flag was replaced by the more flexible ` {build.library_discovery_phase} `
9999 property.
100+ - ` {compiler.optimization_flags} ` : see [ "Sketch debugging configuration"] ( #sketch-debugging-configuration ) for details
100101- ` {extra.time.utc} ` : Unix time (seconds since 1970-01-01T00:00:00Z) according to the machine the build is running on
101102- ` {extra.time.local} ` : Unix time with local timezone and DST offset
102103- ` {extra.time.zone} ` : local timezone offset without the DST component
@@ -538,6 +539,7 @@ used for different purposes:
538539- ** program** a sketch to the target board using an external programmer
539540- ** erase** the target board's flash memory using an external programmer
540541- burn a ** bootloader** into the target board using an external programmer
542+ - ** debug** a sketch
541543
542544Each action has its own recipe and its configuration is done through a set of properties having key starting with
543545** tools** prefix followed by the tool ID and the action:
@@ -699,6 +701,32 @@ The file component of the port's path (e.g., `ttyACM0`) is available as the conf
699701
700702** TODO...** <br > The platform.txt associated with the selected board will be used.
701703
704+ ### Sketch debugging configuration
705+
706+ Starting from Arduino CLI 0.9.0 / Arduino Pro IDE v0.0.5-alpha.preview, sketch debugging support is available for
707+ platforms.
708+
709+ The debug action is triggered when the user clicks ** Debug > Start Debugging** in the Arduino Pro IDE or runs the
710+ [ ` arduino-cli debug ` ] ( commands/arduino-cli_debug.md ) command.
711+
712+ The ** debug.tool** property specifies the tool ID of the tool to be used for debugging. A ** debug.tool** property may be
713+ defined for each board in boards.txt.
714+
715+ The compiler optimization level that is appropriate for normal usage will often not provide a good experience while
716+ debugging. For this reason, it may be helpful to use different compiler flags when compiling a sketch for use with the
717+ debugger. The flags for use when compiling for debugging can be defined via the ** compiler.optimization_flags.debug**
718+ property, and those for normal use via the ** compiler.optimization_flags.release** property. The
719+ ** compiler.optimization_flags** property will be defined according to one or the other depending on the Arduino Pro
720+ IDE's ** Sketch > Optimize for Debugging** setting or [ ` arduino-cli compile ` ] ( commands/arduino-cli_compile.md ) 's
721+ ` --optimize-for-debug ` option.
722+
723+ The debug recipe is defined via ** tools.TOOL_NAME.debug.pattern** . It can be built concatenating the following
724+ automatically generated properties:
725+
726+ - ` {interpreter} ` : the GDB command interpreter to use. It is configurable via
727+ [ ` arduino-cli debug --interpreter ` ] ( commands/arduino-cli_debug.md ) . This property was added in Arduino CLI 0.10.0 /
728+ Arduino Pro IDE v0.0.7-alpha.preview.
729+
702730## Custom board options
703731
704732It can sometimes be useful to provide user selectable configuration options for a specific board. For example, a board
0 commit comments