Protocol Documentation
Table of Contents
Top
debug/debug.proto
DebugConfigReq
| Field |
Type |
Label |
Description |
| instance |
cc.arduino.cli.commands.Instance |
|
Arduino Core Service instance from the Init response. |
| fqbn |
string |
|
Fully qualified board name of the board in use (e.g., arduino:samd:mkr1000). If this is omitted, the FQBN attached to the sketch will be used. |
| sketch_path |
string |
|
Path to the sketch that is running on the board. The compiled executable is expected to be located under this path. |
| port |
string |
|
Port of the debugger (optional). |
| interpreter |
string |
|
Which GDB command interpreter to use. |
| import_dir |
string |
|
Directory containing the compiled executable. If import_dir is not specified, the executable is assumed to be in {sketch_path}/build/{fqbn}/. |
| programmer |
string |
|
The programmer to use for debugging. |
DebugReq
The top-level message sent by the client for the Debug method. Multiple DebugReq messages can be sent but the first
message must contain a DebugConfigReq message to initialize the debug session. All subsequent messages must contain
bytes to be sent to the debug session and must not contain a DebugReq message.
Content must be either a debug session config or data to be sent.
| Field |
Type |
Label |
Description |
| debugReq |
DebugConfigReq |
|
Provides information to the debug that specifies which is the target. The first StreamingOpenReq message must contain a DebugReq message. |
| data |
bytes |
|
The data to be sent to the target being monitored. |
| send_interrupt |
bool |
|
Set this to true to send and Interrupt signal to the debugger process |
DebugResp
| Field |
Type |
Label |
Description |
| data |
bytes |
|
Incoming data from the debugger tool. |
| error |
string |
|
Incoming error output from the debugger tool. |
GetDebugConfigResp
| Field |
Type |
Label |
Description |
| executable |
string |
|
The executable binary to debug |
| toolchain |
string |
|
The toolchain type used for the build (for example "gcc") |
| toolchain_path |
string |
|
The toolchain directory |
| toolchain_prefix |
string |
|
The toolchain architecture prefix (for example "arm-none-eabi-") |
| server |
string |
|
The GDB server type used to connect to the programmer/board (for example "openocd") |
| server_path |
string |
|
The GDB server directory |
| toolchain_configuration |
GetDebugConfigResp.ToolchainConfigurationEntry |
repeated |
Extra configuration parameters wrt toolchain |
| server_configuration |
GetDebugConfigResp.ServerConfigurationEntry |
repeated |
Extra configuration parameters wrt GDB server |
GetDebugConfigResp.ServerConfigurationEntry
GetDebugConfigResp.ToolchainConfigurationEntry
Debug
Service that abstract a debug Session usage
Scalar Value Types
| .proto Type |
Notes |
C++ |
Java |
Python |
Go |
C# |
PHP |
Ruby |
| double |
|
double |
double |
float |
float64 |
double |
float |
Float |
| float |
|
float |
float |
float |
float32 |
float |
float |
Float |
| int32 |
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. |
int32 |
int |
int |
int32 |
int |
integer |
Bignum or Fixnum (as required) |
| int64 |
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. |
int64 |
long |
int/long |
int64 |
long |
integer/string |
Bignum |
| uint32 |
Uses variable-length encoding. |
uint32 |
int |
int/long |
uint32 |
uint |
integer |
Bignum or Fixnum (as required) |
| uint64 |
Uses variable-length encoding. |
uint64 |
long |
int/long |
uint64 |
ulong |
integer/string |
Bignum or Fixnum (as required) |
| sint32 |
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. |
int32 |
int |
int |
int32 |
int |
integer |
Bignum or Fixnum (as required) |
| sint64 |
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. |
int64 |
long |
int/long |
int64 |
long |
integer/string |
Bignum |
| fixed32 |
Always four bytes. More efficient than uint32 if values are often greater than 2^28. |
uint32 |
int |
int |
uint32 |
uint |
integer |
Bignum or Fixnum (as required) |
| fixed64 |
Always eight bytes. More efficient than uint64 if values are often greater than 2^56. |
uint64 |
long |
int/long |
uint64 |
ulong |
integer/string |
Bignum |
| sfixed32 |
Always four bytes. |
int32 |
int |
int |
int32 |
int |
integer |
Bignum or Fixnum (as required) |
| sfixed64 |
Always eight bytes. |
int64 |
long |
int/long |
int64 |
long |
integer/string |
Bignum |
| bool |
|
bool |
boolean |
boolean |
bool |
bool |
boolean |
TrueClass/FalseClass |
| string |
A string must always contain UTF-8 encoded or 7-bit ASCII text. |
string |
String |
str/unicode |
string |
string |
string |
String (UTF-8) |
| bytes |
May contain any arbitrary sequence of bytes. |
string |
ByteString |
str |
[]byte |
ByteString |
string |
String (ASCII-8BIT) |