Commit 4d20a25e authored by Luca Burelli's avatar Luca Burelli Committed by Cristian Maglie

fix: debugging requires a non empty debug.executable (#2439)

* fix: debugging requires a non empty debug.executable

* Updated docs

---------
Co-authored-by: default avatarCristian Maglie <c.maglie@arduino.cc>
parent 5b2f729a
...@@ -155,7 +155,7 @@ func getDebugProperties(req *rpc.GetDebugConfigRequest, pme *packagemanager.Expl ...@@ -155,7 +155,7 @@ func getDebugProperties(req *rpc.GetDebugConfigRequest, pme *packagemanager.Expl
} }
} }
if !debugProperties.ContainsKey("executable") { if !debugProperties.ContainsKey("executable") || debugProperties.Get("executable") == "" {
return nil, &arduino.FailedDebugError{Message: tr("Debugging not supported for board %s", req.GetFqbn())} return nil, &arduino.FailedDebugError{Message: tr("Debugging not supported for board %s", req.GetFqbn())}
} }
......
...@@ -2264,6 +2264,8 @@ debug.server.openocd.scripts_dir={runtime.tools.openocd-0.10.0-arduino7.path}/sh ...@@ -2264,6 +2264,8 @@ debug.server.openocd.scripts_dir={runtime.tools.openocd-0.10.0-arduino7.path}/sh
debug.server.openocd.script={runtime.platform.path}/variants/{build.variant}/{build.openocdscript} debug.server.openocd.script={runtime.platform.path}/variants/{build.variant}/{build.openocdscript}
``` ```
The `debug.executable` key must be present and non-empty for debugging to be supported.
The `debug.server.XXXX` subkeys are optional and also "free text", this means that the configuration may be extended as The `debug.server.XXXX` subkeys are optional and also "free text", this means that the configuration may be extended as
needed by the specific server. For now only `openocd` is supported. Anyway, if this change works, any other kind of needed by the specific server. For now only `openocd` is supported. Anyway, if this change works, any other kind of
server may be fairly easily added. server may be fairly easily added.
......
...@@ -1369,12 +1369,15 @@ to provide some debug configuration directives. ...@@ -1369,12 +1369,15 @@ to provide some debug configuration directives.
All the debug directives are grouped under the `debug.*` directives. Here is the complete list of the supported All the debug directives are grouped under the `debug.*` directives. Here is the complete list of the supported
directives: directives:
- `debug.executable`: is the absolute path to the compiled binary of the sketch
- `debug.toolchain`: is a unique identifier of the required toolchain, currently we support `gcc` (and compatible) only - `debug.toolchain`: is a unique identifier of the required toolchain, currently we support `gcc` (and compatible) only
- `debug.toolchain.path`: is the absolute path to the toolchain directory - `debug.toolchain.path`: is the absolute path to the toolchain directory
- `debug.toolchain.prefix`: is the prefix of the toolchain (for example `arm-none-eabi-`) - `debug.toolchain.prefix`: is the prefix of the toolchain (for example `arm-none-eabi-`)
- `debug.server`: is a unique identifier of the required debug server, currently we support only `openocd` - `debug.server`: is a unique identifier of the required debug server, currently we support only `openocd`
- `debug.svd_file`: is the absolute path to the SVD descriptor. - `debug.svd_file`: is the absolute path to the SVD descriptor.
If the `debug.executable` property is not present or is empty debugging will not be allowed.
OpenOCD server specific configurations: OpenOCD server specific configurations:
- `debug.server.openocd.path`: is the absolute path to the OpenOCD directory - `debug.server.openocd.path`: is the absolute path to the OpenOCD directory
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment