Petunjuk ini berfungsi untuk OSX High Sierra dan hindari menjalankan gdb sebagai root (yuck!). Saya baru saja memperbarui dari OSX 10.13.2 ke 10.3.3. Saya pikir ini adalah saat gdb 8.0.1 (diinstal w / homebrew) mulai gagal untuk saya.
Saya mengalami kesulitan dengan instruksi orang lain. Setelah instruksi yang berbeda, semuanya menjadi berantakan. Jadi saya mulai segar. Saya kurang lebih mengikuti instruksi ini .
Bersihkan yang berantakan:
brew uninstall --force gdb # This deletes _all_ versions of gdb on the machine
- Di
Applications
-> Utilities
-> Keychain Access
, saya menghapus semua sertifikat dan kunci gdb sebelumnya (pastikan Anda tahu apa yang Anda lakukan di sini!). Tidak jelas apakah ini perlu, tetapi karena saya berusaha keras untuk mencoba membuat sertifikat dan kunci tersebut menggunakan instruksi lain, saya tetap menghapusnya. Saya memiliki kunci dan sertifikat di login dan sistem.
Sekarang instal ulang gdb.
brew install gdb
- Di dalam
Keychain Access
, masuk ke menu Keychain Access
-> Certificate Assistant
->Create a Certificate
- Centang "Biarkan saya mengganti default" dan setel
Name : gdb-cert
Identity Type: Self Signed Root
Certificate Type : Code Signing
[X] Let me override defaults
- Pada halaman Informasi Sertifikat pertama:
Serial Number : 1
Validity Period (days): 3650
Pada halaman Informasi Sertifikat ke-2, saya membiarkan semua bidang kosong kecuali yang sudah diisi.
Pada halaman Key Pair Information, saya meninggalkan default
Key Size : 2048
Algorithm : RSA
- Pada halaman Key Usage Extension, saya membiarkan defaultnya dicentang.
[X] Include Key Usage Extension
[X] This extension is critical
Capabilities:
[X] Signature
- Pada halaman Extended Key Usage Extension, saya membiarkan defaultnya dicentang.
[X] Include Extended Key Usage Extension
[X] This extension is critical
Capabilities:
[X] Code Signing
Pada Halaman Ekstensi Kendala Dasar, tidak ada yang diperiksa (default).
Pada halaman Ekstensi Nama Alternatif Subjek, saya membiarkan default dicentang dan tidak menambahkan apa pun.
[X] Include Subject Alternate Name Extension
- Pada Tentukan Lokasi untuk halaman sertifikat, saya set
Keychain: System
Saya mengklik Buat dan diminta memasukkan kata sandi saya.
Kembali ke Keychain Access
aplikasi, saya pergi ke System
dan mengklik kanan pada gdb-cert
dan di bawah menu dropdown Trust
, saya mengubah semua bidang menjadi Always Trust
.
Komputer yang di-boot ulang.
Di Terminal, saya lari codesign -s gdb-cert /usr/local/bin/gdb
. Saya memasukkan kata sandi saya saat diminta.
Di Terminal, saya lari echo "set startup-with-shell off" >> ~/.gdbinit
Saya berlari gdb myprogram
dan kemudian start
di dalam konsol gdb. Di sini, saya yakin, itu meminta kata sandi saya. Setelah itu, semua proses berikutnya, tidak meminta kata sandi saya.