diff --git a/docs/platform-specification.md b/docs/platform-specification.md index 2e283e0b2a0..f5cb109845a 100644 --- a/docs/platform-specification.md +++ b/docs/platform-specification.md @@ -97,6 +97,7 @@ The following automatically generated properties can be used globally in all con intent, `-DARDUINO_LIB_DISCOVERY_PHASE` was added to `recipe.preproc.macros` during library discovery in Arduino Builder 1.5.3/Arduino CLI 0.10.0. That flag was replaced by the more flexible `{build.library_discovery_phase}` property. +- `{compiler.optimization_flags}`: see ["Sketch debugging configuration"](#sketch-debugging-configuration) for details - `{extra.time.utc}`: Unix time (seconds since 1970-01-01T00:00:00Z) according to the machine the build is running on - `{extra.time.local}`: Unix time with local timezone and DST offset - `{extra.time.zone}`: local timezone offset without the DST component @@ -538,6 +539,7 @@ used for different purposes: - **program** a sketch to the target board using an external programmer - **erase** the target board's flash memory using an external programmer - burn a **bootloader** into the target board using an external programmer +- **debug** a sketch Each action has its own recipe and its configuration is done through a set of properties having key starting with **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 **TODO...**
The platform.txt associated with the selected board will be used. +### Sketch debugging configuration + +Starting from Arduino CLI 0.9.0 / Arduino Pro IDE v0.0.5-alpha.preview, sketch debugging support is available for +platforms. + +The debug action is triggered when the user clicks **Debug > Start Debugging** in the Arduino Pro IDE or runs the +[`arduino-cli debug`](commands/arduino-cli_debug.md) command. + +The **debug.tool** property specifies the tool ID of the tool to be used for debugging. A **debug.tool** property may be +defined for each board in boards.txt. + +The compiler optimization level that is appropriate for normal usage will often not provide a good experience while +debugging. For this reason, it may be helpful to use different compiler flags when compiling a sketch for use with the +debugger. The flags for use when compiling for debugging can be defined via the **compiler.optimization_flags.debug** +property, and those for normal use via the **compiler.optimization_flags.release** property. The +**compiler.optimization_flags** property will be defined according to one or the other depending on the Arduino Pro +IDE's **Sketch > Optimize for Debugging** setting or [`arduino-cli compile`](commands/arduino-cli_compile.md)'s +`--optimize-for-debug` option. + +The debug recipe is defined via **tools.TOOL_NAME.debug.pattern**. It can be built concatenating the following +automatically generated properties: + +- `{interpreter}`: the GDB command interpreter to use. It is configurable via + [`arduino-cli debug --interpreter`](commands/arduino-cli_debug.md). This property was added in Arduino CLI 0.10.0 / + Arduino Pro IDE v0.0.7-alpha.preview. + ## Custom board options It can sometimes be useful to provide user selectable configuration options for a specific board. For example, a board pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy