Использование Go v1.11.1 на OSX Mojava с GoLand 2018.3.Когда я запускаю следующую программу в обычном режиме (не через отладчик), она работает нормально.Когда я запускаю его с отладчиком, он зависает в вызове scanner.Scan ().
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
scanner := bufio.NewScanner(os.Stdin)
fmt.Println("Hello")
fmt.Print("> ")
for scanner.Scan() {
input := scanner.Text()
fmt.Println(input)
fmt.Print("> ")
}
}
Пошагово с отладчиком, scanner.Scan () зависает при чтении ввода.Я попал на эту строку в файле с именем "zsyscall_darwin_amd64.go":
r0, _, e1 := Syscall(SYS_READ, uintptr(fd), uintptr(_p0), uintptr(len(p)))
Он никогда не возвращается, независимо от того, что я печатаю в командной строке.В конфигурации без отладчика он работает нормально и печатает все, что я печатаю (после нажатия клавиши enter).