Как я могу отладить программу на C, установленную с помощью guix?
Я установил flatpak с помощью guix, но при запуске произошел сбой. Я хотел отладить его, но guix устанавливает сценарий оболочки для flatpak, поэтому я получаю эту ошибку при попытке запустить его под gdb:
"/home/user/.guix-profile/bin/flatpak": not in executable format: file format not recognized
и я попытался отредактировать сценарий оболочки для вызова gdb, но этот сценарий оболочки даже не редактируется root, потому что он принадлежит root и имеет разрешения только на чтение.
1 ответ
Просто скопируйте скрипт в ваш текущий рабочий каталог:
cp /home/user/.guix-profile/bin/flatpak .
Отметьте его как доступный для записи:
chmod +w flatpak
Отредактируйте скрипт в своем любимом текстовом редакторе, заменив строку exec -a
с exec gdb --args
.
И, наконец, запустите его с любыми аргументами, которые вы указали ранее, когда он плохо себя ведет:
./flatpak remote-add flathub https://flathub.org/repo/flathub.flatpakrepo
В данном конкретном случае это не сразу оказалось супер-полезным, потому что вывод отладочного символа не был создан для этого пакета. Но, по крайней мере, я мог получить обратную трассировку из gdb.