Удалённая отладка с delve #10
Labels
No Label
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed/Requested
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: PenaSide/verification#10
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
у меня не получилось. в чём суть -
приложение запускается как дочерний процесс delve и он выступает сервером, который принимает данные о брейкпоинтах и коммандах. порты назначил, сборку отредактировал так, чтобы оставались все эльфы и дварфы, чтобы делве мог работать, но по какой то причине то ли delve не находит файл приложения, то ли контейнер не находит у себя delve, хотя он там точно присутствует
в deployments/staging/docker-compose.yaml в ветке staging есть закомментированное правило command, которое переопределяет команду, которая будет выполняться при запуске контейнера. в alpine образе нашем есть в PATH dlv исполняемый файл, который там, чтобы в каждом итоговом образе приложения, приложение можно было бы запускать через delve
задача - разобраться почему delve не запускается и исправить локально. и сообщить сюда полученную информацию
исследование того почему файл 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 , скинешь мне?