diff --git a/pkg/proc/gdbserial/rr.go b/pkg/proc/gdbserial/rr.go index e3dfcb749f..ecaa882021 100644 --- a/pkg/proc/gdbserial/rr.go +++ b/pkg/proc/gdbserial/rr.go @@ -216,7 +216,8 @@ type rrInit struct { } const ( - rrGdbCommandPrefix = " gdb " + rrGdbCommandLegacyPrefix = " gdb " + rrGdbCommandPrefix = " 'gdb' " rrGdbLaunchPrefix = "Launch gdb with" targetCmd = "target extended-remote " ) @@ -233,8 +234,13 @@ func rrStderrParser(stderr io.ReadCloser, initch chan<- rrInit, quiet bool) { return } - if strings.HasPrefix(line, rrGdbCommandPrefix) { - initch <- rrParseGdbCommand(line[len(rrGdbCommandPrefix):]) + var flags string + var foundPrefix bool + if flags, foundPrefix = strings.CutPrefix(line, rrGdbCommandPrefix); !foundPrefix { + flags, foundPrefix = strings.CutPrefix(line, rrGdbCommandLegacyPrefix) + } + if foundPrefix { + initch <- rrParseGdbCommand(flags) close(initch) break }