मेरे पास एक ही समस्या थी, यह रूट के अलावा नहीं चलेगा? / Sudo, जिसका मतलब था कि मैं इसे ग्रहण के साथ उपयोग नहीं कर सकता, जिसका मतलब था कि मैंने समस्या को डीबग करने में 5 काम के घंटे खो दिए हैं। यहाँ मेरे परिणाम हैं।
सबसे पहले, gdb ने मेरे उपयोगकर्ता खाते के तहत निष्पादित करते समय एक समान त्रुटि संदेश उत्पन्न किया।
Unable to find Mach task port for process-id 4667: (os/kern) failure (0x5).
(please check gdb is codesigned - see taskgated(8))
मैंने किचेन का उपयोग करके एक प्रमाण पत्र बनाकर कोड पर हस्ताक्षर करने की कोशिश की, फिर कोड हस्ताक्षर के लिए विश्वसनीय के रूप में प्रमाण पत्र को चिह्नित किया। फिर इसे कमांड लाइन से निष्पादन योग्य पर लागू करें।
codesign -s gdb-cert /usr/local/Cellar/gdb/7.6.1/bin/gdb
codesign --verify --verbose /usr/local/Cellar/gdb/7.6.1/bin/gdb
codesign -d --verbose /usr/local/Cellar/gdb/7.6.1/bin/gdb
यह काम नहीं किया
मैंने अपने उपयोगकर्ता खाते को procview, procmod और _developer समूहों में जोड़ने की कोशिश की (शायद असुरक्षित है, लेकिन मैं केवल अपने कोड को github पर नियोजित करता हूं, और व्यक्तिगत उपयोग के लिए मशीन का उपयोग नहीं करता, इसलिए मैं उसके साथ रह सकता हूं)
sudo dscl . append /Groups/procmod GroupMembership bryanhunt
sudo dscl . append /Groups/procview GroupMembership bryanhunt
sudo dscl . append /Groups/_developer GroupMembership bryanhunt
यह काम नहीं किया
अंत में, मैंने निष्पादन योग्य समूह और समूह चिपचिपा बिट को बदलने की कोशिश की।
sudo chgrp procmod /usr/local/Cellar/gdb/7.6.1/bin/gdb
sudo chmod g+s /usr/local/Cellar/gdb/7.6.1/bin/gdb
वह काम किया