ये निर्देश OSX हाई सिएरा के लिए काम करते हैं और रूट (yuck!) के रूप में gdb चलाने से बचते हैं। मैंने हाल ही में OSX 10.13.2 से 10.3.3 तक अपडेट किया है। मुझे लगता है कि यह तब है जब gdb 8.0.1 (स्थापित w / होमब्रेव) मेरे लिए असफल होना शुरू हुआ।
मुझे अन्य लोगों के निर्देशों से कठिनाई हुई। अलग-अलग निर्देशों के बाद, सब कुछ गड़बड़ था। इसलिए मैंने एक नई शुरुआत की। मैंने कमोबेश इन निर्देशों का पालन किया ।
गंदगी साफ करें:
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
- विस्तारित कुंजी उपयोग एक्सटेंशन पृष्ठ पर, मैंने जाँच की गई चूक को छोड़ दिया।
[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
जीडीबी कंसोल के भीतर। यहाँ, मुझे विश्वास है, इसने मेरे पासवर्ड के लिए मुझे संकेत दिया। उसके बाद, बाद के सभी रन, यह मेरे पासवर्ड के लिए संकेत नहीं करता था।