@@ -51,7 +51,19 @@ func Debug(ctx context.Context, req *dbg.DebugConfigReq, inStream io.Reader, out
51
51
return nil , errors .Wrap (err , "Cannot get command line for tool" )
52
52
}
53
53
54
+ // Transform every path to forward slashes (on Windows some tools further
55
+ // escapes the command line so the backslash "\" gets in the way).
56
+ for i , param := range commandLine {
57
+ commandLine [i ] = filepath .ToSlash (param )
58
+ }
59
+
54
60
// Run Tool
61
+ entry := logrus .NewEntry (logrus .StandardLogger ())
62
+ for i , param := range commandLine {
63
+ entry = entry .WithField (fmt .Sprintf ("param%d" , i ), param )
64
+ }
65
+ entry .Debug ("Executing debugger" )
66
+
55
67
cmd , err := executils .Command (commandLine )
56
68
if err != nil {
57
69
return nil , errors .Wrap (err , "Cannot execute debug tool" )
@@ -224,6 +236,10 @@ func getCommandLine(req *dbg.DebugConfigReq, pm *packagemanager.PackageManager)
224
236
225
237
// Build recipe for tool
226
238
recipe := toolProperties .Get ("debug.pattern" )
239
+ // REMOVEME: hotfix for samd core 1.8.5
240
+ if recipe == `"{path}/{cmd}" --interpreter=mi2 -ex "set pagination off" -ex 'target extended-remote | {tools.openocd.path}/{tools.openocd.cmd} -s "{tools.openocd.path}/share/openocd/scripts/" --file "{runtime.platform.path}/variants/{build.variant}/{build.openocdscript}" -c "gdb_port pipe" -c "telnet_port 0"' {build.path}/{build.project_name}.elf` {
241
+ recipe = `"{path}/{cmd}" --interpreter=mi2 -ex "set remotetimeout 5" -ex "set pagination off" -ex 'target extended-remote | "{tools.openocd.path}/{tools.openocd.cmd}" -s "{tools.openocd.path}/share/openocd/scripts/" --file "{runtime.platform.path}/variants/{build.variant}/{build.openocdscript}" -c "gdb_port pipe" -c "telnet_port 0"' "{build.path}/{build.project_name}.elf"`
242
+ }
227
243
cmdLine := toolProperties .ExpandPropsInString (recipe )
228
244
cmdArgs , err := properties .SplitQuotedString (cmdLine , `"'` , false )
229
245
if err != nil {
0 commit comments