Удалённая отладка с delve #10

Open
opened 2024-12-13 11:56:10 +00:00 by skeris · 2 comments
Owner

у меня не получилось. в чём суть -
приложение запускается как дочерний процесс delve и он выступает сервером, который принимает данные о брейкпоинтах и коммандах. порты назначил, сборку отредактировал так, чтобы оставались все эльфы и дварфы, чтобы делве мог работать, но по какой то причине то ли delve не находит файл приложения, то ли контейнер не находит у себя delve, хотя он там точно присутствует

в deployments/staging/docker-compose.yaml в ветке staging есть закомментированное правило command, которое переопределяет команду, которая будет выполняться при запуске контейнера. в alpine образе нашем есть в PATH dlv исполняемый файл, который там, чтобы в каждом итоговом образе приложения, приложение можно было бы запускать через delve

задача - разобраться почему delve не запускается и исправить локально. и сообщить сюда полученную информацию

у меня не получилось. в чём суть - приложение запускается как дочерний процесс delve и он выступает сервером, который принимает данные о брейкпоинтах и коммандах. порты назначил, сборку отредактировал так, чтобы оставались все эльфы и дварфы, чтобы делве мог работать, но по какой то причине то ли delve не находит файл приложения, то ли контейнер не находит у себя delve, хотя он там точно присутствует в deployments/staging/docker-compose.yaml в ветке staging есть закомментированное правило command, которое переопределяет команду, которая будет выполняться при запуске контейнера. в alpine образе нашем есть в PATH dlv исполняемый файл, который там, чтобы в каждом итоговом образе приложения, приложение можно было бы запускать через delve задача - разобраться почему delve не запускается и исправить локально. и сообщить сюда полученную информацию
skeris added the
Kind/Feature
label 2024-12-13 11:56:10 +00:00
pasha1coil was assigned by skeris 2024-12-13 11:56:10 +00:00
skeris added this to the Стабильность релизов project 2024-12-13 11:56:10 +00:00
Member

исследование того почему файл dlv в контейнере по пути usr/local/bin не находится.

действительно тот файл который у нас лежит в alpine не находится. после некоторых попыток понять почему и консольной пробы поиска этого файла внутри докера понял - не понял.

сделал сборку delve по гайду - https://golangforall.com/ru/post/go-docker-delve-remote-debug.html, решил так проверять этот файл.
изначально файл dlv создается в корне, окей, запускается все норм.
возможно проблема в каталоге в котом находится наш файл dlv? попробовал его удалить и поместить свежесозданный файл dlv и сделать ls -l usr/local/bin/dlv -> нашлось, так же отработал корректно dlv version, чего не происходило у нашего файла dlv.

далее была дума, вдруг что то влияет что файл dlv конфликтует внутри разных контейнеров. Но это было тщетно. Скопировал файл dlv с прошлой пробы (запускался, находился) собрал с помощью нашего alpine образ и контейнер, сделал cp в каталог usr/local/bin dlv из прошлой пробы, результат был таков, что разные контейнеры не влияют на него и должно все находить.

поэтому возможно проблема конкретно в этом dlv файле который лежит вместе с alpine? может как то пересобрать?

исследование того почему файл dlv в контейнере по пути usr/local/bin не находится. действительно тот файл который у нас лежит в alpine не находится. после некоторых попыток понять почему и консольной пробы поиска этого файла внутри докера понял - не понял. сделал сборку delve по гайду - https://golangforall.com/ru/post/go-docker-delve-remote-debug.html, решил так проверять этот файл. изначально файл dlv создается в корне, окей, запускается все норм. возможно проблема в каталоге в котом находится наш файл dlv? попробовал его удалить и поместить свежесозданный файл dlv и сделать ls -l usr/local/bin/dlv -> нашлось, так же отработал корректно dlv version, чего не происходило у нашего файла dlv. далее была дума, вдруг что то влияет что файл dlv конфликтует внутри разных контейнеров. Но это было тщетно. Скопировал файл dlv с прошлой пробы (запускался, находился) собрал с помощью нашего alpine образ и контейнер, сделал cp в каталог usr/local/bin dlv из прошлой пробы, результат был таков, что разные контейнеры не влияют на него и должно все находить. поэтому возможно проблема конкретно в этом dlv файле который лежит вместе с alpine? может как то пересобрать?
pasha1coil added the
Reviewed/Requested
label 2024-12-18 12:26:31 +00:00
Author
Owner

можно пересобать. соберёшь работающий dlv , скинешь мне?

можно пересобать. соберёшь работающий dlv , скинешь мне?
Sign in to join this conversation.
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: PenaSide/verification#10
No description provided.