@@ -18,9 +18,11 @@ package debug
1818import (
1919 "context"
2020 "encoding/json"
21+ "errors"
2122 "os"
2223 "os/signal"
2324
25+ "github.com/arduino/arduino-cli/arduino"
2426 "github.com/arduino/arduino-cli/commands/debug"
2527 "github.com/arduino/arduino-cli/commands/sketch"
2628 "github.com/arduino/arduino-cli/i18n"
@@ -93,7 +95,11 @@ func runDebugCommand(command *cobra.Command, args []string) {
9395 if printInfo {
9496
9597 if res , err := debug .GetDebugConfig (context .Background (), debugConfigRequested ); err != nil {
96- feedback .Fatal (tr ("Error getting Debug info: %v" , err ), feedback .ErrBadArgument )
98+ errcode := feedback .ErrBadArgument
99+ if errors .Is (err , & arduino.MissingProgrammerError {}) {
100+ errcode = feedback .ErrMissingProgrammer
101+ }
102+ feedback .Fatal (tr ("Error getting Debug info: %v" , err ), errcode )
97103 } else {
98104 feedback .PrintResult (newDebugInfoResult (res ))
99105 }
@@ -109,7 +115,11 @@ func runDebugCommand(command *cobra.Command, args []string) {
109115 feedback .FatalError (err , feedback .ErrBadArgument )
110116 }
111117 if _ , err := debug .Debug (context .Background (), debugConfigRequested , in , out , ctrlc ); err != nil {
112- feedback .Fatal (tr ("Error during Debug: %v" , err ), feedback .ErrGeneric )
118+ errcode := feedback .ErrGeneric
119+ if errors .Is (err , & arduino.MissingProgrammerError {}) {
120+ errcode = feedback .ErrMissingProgrammer
121+ }
122+ feedback .Fatal (tr ("Error during Debug: %v" , err ), errcode )
113123 }
114124
115125 }
0 commit comments