@@ -97,6 +97,7 @@ The following automatically generated properties can be used globally in all con
97
97
intent, ` -DARDUINO_LIB_DISCOVERY_PHASE ` was added to ` recipe.preproc.macros ` during library discovery in Arduino
98
98
Builder 1.5.3/Arduino CLI 0.10.0. That flag was replaced by the more flexible ` {build.library_discovery_phase} `
99
99
property.
100
+ - ` {compiler.optimization_flags} ` : see [ "Sketch debugging configuration"] ( #sketch-debugging-configuration ) for details
100
101
- ` {extra.time.utc} ` : Unix time (seconds since 1970-01-01T00:00:00Z) according to the machine the build is running on
101
102
- ` {extra.time.local} ` : Unix time with local timezone and DST offset
102
103
- ` {extra.time.zone} ` : local timezone offset without the DST component
@@ -538,6 +539,7 @@ used for different purposes:
538
539
- ** program** a sketch to the target board using an external programmer
539
540
- ** erase** the target board's flash memory using an external programmer
540
541
- burn a ** bootloader** into the target board using an external programmer
542
+ - ** debug** a sketch
541
543
542
544
Each action has its own recipe and its configuration is done through a set of properties having key starting with
543
545
** 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
699
701
700
702
** TODO...** <br > The platform.txt associated with the selected board will be used.
701
703
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
+
702
730
## Custom board options
703
731
704
732
It can sometimes be useful to provide user selectable configuration options for a specific board. For example, a board
0 commit comments