GoLand отладчик - PullRequest
       47

GoLand отладчик

0 голосов
/ 06 апреля 2020

Я пытаюсь начать свой первый сеанс отладки с GoLand, но пока мне не везет. Попытка следовать этому руководству https://blog.jetbrains.com/go/2018/04/30/debugging-containerized-go-applications/

Моя версия GoLand - 2019.3.4, работает на MacOS Catalina

Учебное пособие состоит примерно из 2 частей, если я читаю правильно 1) запустить основной процесс 2) подключить отладчик как удаленный отладчик

Основное отличие в том, что я пытаюсь отладить программу командной строки, а не сервер - мой ввод: = попытка чтобы остановить завершение программы перед подключением отладчика

{code} fun c main () {fmt.Println ("вставить значение y здесь:") ) fmt.Println (input.Text)} {code}

Когда я запускаю основное docker изображение, я вижу это:

API server listening at: [::]:40000
insert y value here: 
0x4abe40

Первая строка появляется сразу после запуска Docker конфигурация сервера. После этого я выбираю конфигурацию «Удаленная отладка» и нажимаю «Отладка» - кажется, что основной процесс освобождается в это время (я вижу напечатанную вторую и третью строки), но я никогда не достигаю точки останова.

У меня есть похожие результаты запуска процесса вне GoLand:

docker run --security-opt="apparmor=unconfined" -p 40000:40000 --cap-add=SYS_PTRACE image_name 

Основной процесс находится на прослушивании сервера API по адресу: [::]: 40000. Как только сеанс GoLand «Удаленная отладка» пытается присоединиться, он печатает вторые 2 строки и завершает работу ... Но я никогда не вижу попадания в точки останова.

У кого-нибудь есть указатель на то, что может быть не так? Или альтернативный учебник? Я новичок в Go, но не в Docker / удаленной отладке.

Моя исходная программа находится здесь: https://github.com/yanakad/goland

build: docker build . -t goland

run: docker run --security-opt="apparmor=unconfined" -p 40000:40000 --cap-add=SYS_PTRACE goland

Удаленный go Конфигурация отладки установлена ​​на localhost и порт 40000

...