Есть ли способ увидеть программы stdout и stderr в отладчике delve для golang?

Я хотел бы иметь возможность видеть stdout и stderr при использовании delve для отладки программ go. Это возможно? Как бы я это сделал?


person Ziffusion    schedule 18.11.2015    source источник
comment
Для моего собственного интереса, не могли бы вы опубликовать ссылку, чтобы углубиться, поскольку я не слышал об этом?   -  person miltonb    schedule 19.11.2015
comment
github.com/derekparker/delve   -  person Ziffusion    schedule 20.11.2015


Ответы (1)


Вам не нужно ничего делать.

Delve по умолчанию выводит stdout и stderr на консоль. Я пробовал это в MacOS ElCapitan delve версии 0.11.0-alpha.

Имейте main.go в правильном подкаталоге в вашем GOPATH

package main

import "fmt"
import "os"

func main() {
    fmt.Fprintf(os.Stderr, "Writing something to stderr\n")
    fmt.Fprintf(os.Stdout, "Writing something to stdout\n")
}

Затем запустите delve в том же каталоге, что и main.go.

$ dlv debug
Type 'help' for list of commands.
(dlv) restart
Process restarted with PID 70964
(dlv) c
Writing something to stderr
Writing something to stdout
Process 70964 has exited with status 0
(dlv)
person Hakan Baba    schedule 31.01.2017
comment
Не сработало в последний раз, когда я пробовал. Дам ему еще одну попытку. - person Ziffusion; 01.02.2017