Я пытаюсь изучить Hugo с помощью отладчика Go под названием dlv
. И я довольно застрял. После:
go get -v github.com/gohugoio/hugo
cd $GOPATH/src/github.com/gohugoio/hugo
go build -gcflags="-N -l"
dlv exec ./hugo -- -s /path/to/the/projectdir
Это зависает. Нажатие Ctrl+C запускает hugo
как обычно. Насколько я вижу, dlv debug
не только производит такое же поведение, но и точно такое же: созданный двоичный файл с именем debug
точно такой же, как hugo
, который я создал с go build -gcflags="-N -l"
.
dlv запускает ряд дочерних процессов, которые через некоторое время исчезают. Процесс hugo
виден через ps
и pidof hugo
, но strace -p
pidof Hugo`` сообщает strace: attach: ptrace(PTRACE_ATTACH, ...): No such proce
. Проверив после, он все еще находится в списке ps, тот же pid. Я бы предположил, потому что он находится в состоянии t
, поскольку он отслеживается.
Как я мог тогда смотреть, как Хьюго бежит?