Отладка бинарника внутри снапа
Я пытаюсь запустить двоичный файл, полученный из моментальногоstrace
для отладки его работы.
Поскольку доступ к исполняемому файлу осуществляется через/snap/bin/prog
который символически связан с/usr/bin/snap
Я увижу только системные вызовы оснастки, а не программы.
Как я могу запустить бинарный файл?
Я пытался использовать chroot, но это говорит мне, что двоичный файл не завершается:
$ sudo chroot /snap/prog/current /usr/bin/prog
chroot: failed to run command ‘/usr/bin/prog’: No such file or directory
Несмотря на наличие бинарника/snap/prog/current/usr/bin/prog
чтобы он мог работать.
Могу ли я иметь более прямой доступ к выполнению оснастки?
ПРИМЕЧАНИЕ. Та же проблема возникла бы, если бы я хотел запустить ее через gdb вместо strace.
ОБНОВИТЬ
Я думал, что у меня было хорошее начало, когда я нашел--devmode
и/var/lib/snapd/hostfs
но запуск корзины хоста просто вызывает нарушение сегментации.
$ sudo snap run --shell PROGNAME
# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/var/lib/snapd/hostfs/usr/lib/x86_64-linux-gnu/
# /var/lib/snapd/hostfs/usr/bin/strace
Segmentation fault (core dumped)
Казалось многообещающим, но увы.