Здравствуйте!
— Не хотите ли войти
Tags Switch

Отладка приложения Mac OS X под root

16 декабря 2009

По умолчанию Xcode не позволяет запускать на отладку приложения с правами root и для основной массы приложений это не создает никаких проблем. Тем не менее, в ряде случаев для работы приложения права root просто необходимы.

Самый простой вариант решения этой проблемы — запуск самого Xcode с правами root.

sudo /Developer/Applications/Xcode.app/Contents/MacOS/Xcode

Хотя на мой взгляд это самый плохой вариант который только можно придумать. Можно пойти по Unix way, запустить под root отладчик gdb и уже в нем отлаживать приложение… Тоже не красивое решение, все же отладка в Xcode куда удобнее.

Итак, запусить приложение на отладку с правами root в Xcode все же можно. Для этого необходимо проделать следующие действия.

Разблокировать пользователя root на локальной машине
1. Запустить Directory Utility (находится в папке /System/Library/CoreServices/Directory Utility.app).
2. Зайти в EditEnable Root User и задать пароль для пользователя root.

Разблокировать удаленное соедининиие с компьютером
В System PreferencesSharing выбирается пункт Remote Loging. Данная опция активирует на компьютере ssh демон.

Создать ключи и скопировать их в нужную папку
1. Открыть терминал и ввести ssh-keygen -t rsa
2. Принять расположение по умолчанию и задать пароль.
3. Зайти под пользователем root и создать папку ~/.ssh (~ == /var/root)
4. Скопировать публичные ключи в папку root:

cat ~/.ssh/id_rsa.pub | ssh root@localhost "cat ->> ~/.ssh/authorized_keys"

5. Проверить что все нормально

ssh root@localhost

Включить удаленную отладку при помощи ssh в Xcode
1. Выбрать Get Info для выполнимого файла.
2. В настройках Debugging выбрать Debug executable remotely via ssh и в поле Connect to указать root@localhost.

Можно приступать к отладке :)

© 2009-2010, ООО «Инру»
Вход
Имя пользователя:
Пароль:
Или…
Twi
Отмена
Войти
Восстановить забытый пароль…