मैं एक मानक उपयोगकर्ता के रूप में मैक पर GNU डिबगर (GDB) प्रोग्रामिंग उपयोगिता का उपयोग क्यों नहीं कर सकता हूं?


8

मैं केवल GNU डीबगर (GDB) का उपयोग कर सकता हूं जब एक व्यवस्थापक के रूप में प्रमाणित किया जाता है।

जब मैं GDB को एक मानक उपयोगकर्ता के रूप में लॉन्च करता हूं, GDB कमांड "रन" देने के बाद, एक संवाद "डेवलपर टूल" समूह में उपयोगकर्ता के नाम और पासवर्ड के लिए मुझसे अनुरोध करता है।

समस्या यह है कि मैं पहले से ही "डेवलपर टूल" समूह में हूं, इसलिए मुझे नहीं पता कि क्या करना है ...

धन्यवाद!

मंच:

  • MacOS X 10.7.1
  • जीसीसी 4.2.1
  • i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Apple Inc. बिल्ड 5658 के आधार पर) (LLVM बिल्ड 2335.15.00)
  • GNU gdb 6.3.50-20050815 (Apple संस्करण gdb-1705)
  • इस GDB को "x86_64-apple-darwin" के रूप में कॉन्फ़िगर किया गया था।

जवाबों:


7

क्या आप सकारात्मक हैं आप डेवलपर टूल समूह में हैं?

इस कमांड को चलाने का प्रयास करें

sudo dscl . append /Groups/_developer GroupMembership <username>

उस समूह में अपना उपयोगकर्ता खाता जोड़ना चाहिए।


अब मुझे पता है कि जीयूआई में दिखाए गए समूह वास्तविक नहीं हैं ;-) धन्यवाद!
पीटरो

2

मेरे पास एक ही समस्या थी, यह रूट के अलावा नहीं चलेगा? / 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

वह काम किया


कोई फर्क नहीं पड़ता कि मैं क्या करता हूं, मुझे नीचे त्रुटि मिलती है। कुछ भी हो सकता है कि आप मेरी मदद करें। Starting program: /Users/nakulchawla/POPL/proj5/a.out Unable to find Mach task port for process-id 571: (os/kern) failure (0x5). (please check gdb is codesigned - see taskgated(8))
तत्पश्चात १२
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.