Bu talimatlar OSX High Sierra için çalışır ve gdb'yi root (yuck!) Olarak çalıştırmaktan kaçınır. Kısa süre önce OSX 10.13.2'den 10.3.3'e güncelledim. Bu gdb 8.0.1 (w / homebrew yüklü) benim için başarısız başladığında olduğunu düşünüyorum.
Başkalarının talimatları ile güçlük çektim. Farklı talimatlardan sonra, her şey bir karışıklıktı. Bu yüzden bir taze başladı. Bu talimatları az çok izledim .
Dağınıklığı temizleyin:
brew uninstall --force gdb # This deletes _all_ versions of gdb on the machine
- In
Applications
-> Utilities
-> Keychain Access
Ben tüm önceki gdb sertifikaları ve anahtarları silindi (emin sen burada ne yaptığını biliyorum olmak!). Bunun gerekli olup olmadığı belli değil, ancak diğer sertifikaları kullanarak bu sertifikaları ve anahtarları oluşturmayı denediğim için onları yine de ortadan kaldırdım. Hem giriş hem de sistem anahtarları ve sertifikaları vardı.
Şimdi gdb'yi yeniden yükleyin.
brew install gdb
- İçinde
Keychain Access
, menüye gidin Keychain Access
-> Certificate Assistant
->Create a Certificate
- "Varsayılanları geçersiz kılmama izin ver" i işaretleyin ve
Name : gdb-cert
Identity Type: Self Signed Root
Certificate Type : Code Signing
[X] Let me override defaults
- 1. Sertifika Bilgileri sayfasında:
Serial Number : 1
Validity Period (days): 3650
2. Sertifika Bilgileri sayfasında, önceden doldurulmuş olanlar dışındaki tüm alanları boş bıraktım.
Anahtar Çifti Bilgileri sayfasında varsayılanları bıraktım
Key Size : 2048
Algorithm : RSA
- Anahtar Kullanım Uzantısı sayfasında, varsayılanları işaretli olarak bıraktım.
[X] Include Key Usage Extension
[X] This extension is critical
Capabilities:
[X] Signature
- Genişletilmiş Anahtar Kullanımı Uzantısı sayfasında, varsayılanları işaretli olarak bıraktım.
[X] Include Extended Key Usage Extension
[X] This extension is critical
Capabilities:
[X] Code Signing
Temel Sınırlamalar Uzantı Sayfasında hiçbir şey işaretlenmedi (varsayılan).
Konu Diğer Adı Uzantısı sayfasında, varsayılanı işaretli bıraktım ve başka bir şey eklemedim.
[X] Include Subject Alternate Name Extension
- Sertifika sayfası için bir konum belirtin
Keychain: System
Oluştur'u tıkladım ve şifremi girmem istendi.
Keychain Access
Uygulamaya geri döndüm System
ve sağ tıkladım gdb-cert
ve açılır menü altında Trust
, tüm alanları olarak değiştirdim Always Trust
.
Bilgisayar yeniden başlatıldı.
Terminalde koştum codesign -s gdb-cert /usr/local/bin/gdb
. İstendiğinde şifremi girdim.
Terminalde koştum echo "set startup-with-shell off" >> ~/.gdbinit
gdb myprogram
Sonra start
gdb konsolunda koştum . Burada inanıyorum, şifremi girmemi istedi. Bundan sonra, sonraki tüm çalışır, şifremi sormadı.