• Luca Burelli's avatar
    Implement official Arduino IDE debugger API on 2.x (#9118) · 03da9724
    Luca Burelli authored
    * refactor(on-release): improve platform.txt path replacements
    
    Use regexs to replace all occurrences of `{runtime.platform.path}` with
    the correct `{runtime.tools.*.path}`, regardless of directory separator,
    and remove dependency on specific text around each path.
    
    Note that the order has been changed to ensure that the longest paths
    are replaced first, to avoid replacing parts of other paths.
    
    * fix(platform): Windows backslash cleanups
    
    Ensure Windows paths properly use a backslash as folder separator.
    
    * feat(platform)!: use new Arduino Debug API
    
    Implement sketch debugging according to the official Arduino
    Platform Debug Specification [1].
    
    The biggest improvement is that now `launch.json` can be fully
    customized by the core (including the type of each entry),
    so there is no need to copy files in the sketch folder.
    In particular, `debug_custom.json` is not used anymore.
    
    [1] https://arduino.github.io/arduino-cli/latest/platform-specification/#sketch-debugging-configuration
    
    BREAKING CHANGE: This commit requires Arduino IDE 2.3.0 or later to use
    the debugging features. Older versions will no longer be able to start
    a debug session successfully.
    
    * feat(debug): pass objdump path to resolve globals
    
    Cortex-debug requires objdump to be in the same folder as gdb, or needs
    the full path to the executable in the `launch.json` file. This is now
    possible with the new debugging API.
    
    On Arduino-ESP32 core versions 2.x, though, this causes a crash within
    the Cortex-Debug extension as a result of loading the symbol table. This
    feature is thus disabled for now.
    
    * feat(debug): conditionally enable debug button on Nano ESP32
    
    If the `debug.executable` variable is null or unset, the Debug button
    appears grayed out. The new IDE also takes current parameters into
    account, allowing to conditionally enable the Debug button only when
    some conditions are met.
    03da9724
boards.txt 1.16 MB
The source could not be displayed because it is larger than 1 MB. You can load it anyway or download it instead.