Есть ли инструмент для поиска конфликтов символов в общей библиотеке?

Нет. Да. И я не уверен.

Для программы, связанной с libc, такой как udev:

eval $(systemctl show -p MainPID systemd-udevd)
gdb -p $MainPID
p (void)_exit(0)
quit

Однако Docker написан в go, что необычно недружелюбно к вызову функций C (и, возможно, использует собственные реализации системных вызовов? ). Поэтому я не знаю, будет ли это работать на докерде.

Если вы просто хотите дважды -проверить, что Restart=alwaysработает так, как вы думаете, systemd -udevd.service уже использует Restart=always. Таким образом, вы можете продемонстрировать Restart=always, используя приведенное выше. У меня сработало :-).

1
24.06.2020, 15:22
1 ответ

nm -C library.so | grep -i symbol

, вероятно, то, что вы ищете. Однако это может не работать для разделенных библиотек.

0
18.03.2021, 23:24

Теги

Похожие вопросы