Эти инструкции работают для OSX High Sierra и избегают запуска gdb от имени пользователя root (фу!). Недавно я обновился с OSX 10.13.2 до 10.3.3. Думаю, именно тогда у меня начал выходить gdb 8.0.1 (установленный с домашним пивом).
У меня были трудности с инструкциями других людей. После разных инструкций все было в беспорядке. Итак, я начал все сначала. Я более-менее следовал этим инструкциям .
Убери беспорядок:
brew uninstall --force gdb # This deletes _all_ versions of gdb on the machine
- В
Applications
-> Utilities
-> Keychain Access
я удалил все предыдущие сертификаты и ключи gdb (убедитесь, что вы знаете, что делаете здесь!). Неясно, необходимо ли это, но поскольку я ошибся, пытаясь создать эти сертификаты и ключи с помощью других инструкций, я все равно удалил их. У меня были ключи и сертификаты как в логине, так и в системе.
Теперь переустановите gdb.
brew install gdb
- Внутри
Keychain Access
перейдите в меню Keychain Access
-> Certificate Assistant
->Create a Certificate
- Установите флажок "Разрешить отмену значений по умолчанию" и установите
Name : gdb-cert
Identity Type: Self Signed Root
Certificate Type : Code Signing
[X] Let me override defaults
- На 1-й странице информации о сертификате:
Serial Number : 1
Validity Period (days): 3650
На 2-й странице информации о сертификате я оставил все поля пустыми, кроме уже заполненных.
На странице информации о паре ключей я оставил значения по умолчанию
Key Size : 2048
Algorithm : RSA
- На странице «Расширение использования ключа» я оставил флажком значения по умолчанию.
[X] Include Key Usage Extension
[X] This extension is critical
Capabilities:
[X] Signature
- На странице Extended Key Usage Extension я оставил флажком значения по умолчанию.
[X] Include Extended Key Usage Extension
[X] This extension is critical
Capabilities:
[X] Code Signing
На странице расширения базовых ограничений ничего не проверялось (по умолчанию).
На странице «Расширение альтернативного имени субъекта» я оставил установленный по умолчанию флажок и больше ничего не добавил.
[X] Include Subject Alternate Name Extension
- При указании местоположения для страницы сертификата я установил
Keychain: System
Я нажал «Создать», и мне было предложено ввести пароль.
Вернувшись в Keychain Access
приложение, я зашел System
и щелкнул правой кнопкой мыши по gdb-cert
раскрывающемуся меню Trust
и изменил все поля на Always Trust
.
Перезагрузил компьютер.
Я сбежал от Терминала codesign -s gdb-cert /usr/local/bin/gdb
. Я ввел свой пароль при появлении запроса.
В Терминале я побежал echo "set startup-with-shell off" >> ~/.gdbinit
Я запустил, gdb myprogram
а затем start
в консоли gdb. Здесь, я полагаю, меня попросили ввести пароль. После этого при всех последующих запусках мой пароль не запрашивался.