Мне нужно отладить программу в Linux с помощью Eclipse (gdb).Программа запускается как root и довольно большая.Бинарный файл с символами отладки имеет размер около 250 МБ и более 60 запущенных потоков после запуска.
Я думаю о лучшем решении:
- Использование gdbserver
- Запустите Eclipse от имени root
- Установите gdb suid
Я думаю, что номер 1 (gdbserver) будет лучшим решением, к сожалению, он не работает надежно.Соединение между GDB и GDB-сервером потеряно.Я думаю, что есть проблема с огромным объемом данных, передаваемых между eclipse <-> gdb <-> gdbserver.
Номер 2 (запускать eclipse как root) означает запускать каждый процесс как root и поэтому мешает такжесистема контроля версий, потому что плагин Eclipse будет использовать пользователя root вместо меня для изменения файлов, контролируемых версиями.
Я не пробовал номер 3 (suid gdb).Что вы думаете об этом?Это работает вообще?Я знаю, что suid root gdb так же безопасен, как отсутствие пароля root, но машина используется только для разработки и отладки.И, конечно, может существовать сценарий «включить / отключить», который устанавливает бит suid только при необходимости.
Есть ли у вас какие-либо другие предложения?