Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit ee5be70

Browse files
authored
[skip changelog] Document debug system in platform specification (#882)
1 parent b4a480f commit ee5be70

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

‎docs/platform-specification.md‎

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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月01日T00: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

542544
Each 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

704732
It can sometimes be useful to provide user selectable configuration options for a specific board. For example, a board

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /