Ці інструкції працюють для OSX High Sierra і уникають запуску gdb як root (yuck!). Я нещодавно оновив з OSX 10.13.2 до 10.3.3. Я думаю, що це коли gdb 8.0.1 (встановлений w / homebrew) для мене почав виходити з ладу.
У мене були труднощі з інструкціями інших людей. Після різних вказівок все було безладно. Тому я почав свіжий. Я більш-менш дотримувався цих інструкцій .
Очистіть безлад:
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
- На першій сторінці інформації про сертифікати:
Serial Number : 1
Validity Period (days): 3650
На другій сторінці інформації про сертифікати я залишив порожні всі поля, крім тих, які вже заповнені.
На сторінці інформації про ключову пару я залишив значення за замовчуванням
Key Size : 2048
Algorithm : RSA
- На сторінці розширення використання ключових значень я залишив перевірені параметри за замовчуванням.
[X] Include Key Usage Extension
[X] This extension is critical
Capabilities:
[X] Signature
- На сторінці розширення використання розширеного ключа я залишив встановлені параметри за замовчуванням.
[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. Тут, я вважаю, це підказало мені пароль. Після цього, усі наступні запуски, мені не підказали пароль.