Mac'teki GNU Hata Ayıklayıcı (GDB) programlama yardımcı programını neden standart kullanıcı olarak kullanamıyorum?


8

GNU Hata Ayıklayıcı'yı (GDB) yalnızca yönetici olarak doğrulandığında kullanabilirim.

Standart kullanıcı olarak GDB'yi başlattığımda, GDB komutu "run" komutunu verdikten sonra, bir iletişim kutusu "Geliştirici Araçları" grubundaki bir kullanıcının kullanıcı adı ve şifresini ister.

Sorun zaten "Geliştirici Araçları" grubunda olduğum, bu yüzden başka ne yapacağımı bilmiyorum ...

Teşekkür ederim!

Platform:

  • MacOS X 10.7.1
  • GCC 4.2.1
  • i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Apple Inc. build 5658 temel alınmıştır) (LLVM build 2335.15.00)
  • GNU gdb 6.3.50-20050815 (Apple sürümü gdb-1705)
  • Bu GDB "x86_64-apple-darwin" olarak yapılandırıldı.

Yanıtlar:


7

Geliştirici Araçları grubunda olduğunuzdan emin misiniz?

Bu komutu çalıştırmayı deneyin

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

Bu, kullanıcı hesabınızı gruba eklemelidir.


Şimdi GUI'de gösterilen grupların gerçek olanlar olmadığını biliyorum ;-) Teşekkür ederim!
Pietro

2

Aynı problemi yaşadım, kök? / Sudo hariç, çalışmaz. İşte sonuçlarım.

İlk olarak, gdb kullanıcı hesabım altında yürütüldüğünde benzer bir hata mesajı oluşturdu.

Unable to find Mach task port for process-id 4667: (os/kern) failure (0x5).
 (please check gdb is codesigned - see taskgated(8))

Keychain kullanarak bir sertifika oluşturarak, ardından sertifikayı kod imzalama için güvenilir olarak işaretleyerek kodu imzalamayı denedim. Daha sonra komut satırından yürütülebilir dosyaya uygulanır.

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

Bu işe yaramadı

Kullanıcı hesabımı procview, procmod ve _developer gruplarına eklemeyi denedim (muhtemelen güvensiz, ancak kodumu sadece github'a konuşlandırıyorum ve makineyi kişisel kullanım için kullanmıyorum, bu yüzden bununla yaşayabilirim)

sudo dscl . append /Groups/procmod GroupMembership bryanhunt

sudo dscl . append /Groups/procview GroupMembership bryanhunt

sudo dscl . append /Groups/_developer GroupMembership bryanhunt

Bu işe yaramadı

Son olarak, çalıştırılabilir grup ve grup yapışkan bit değiştirmeyi denedim.

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

İşe yaradı


ne yaparsam yapayım aşağıdaki hatayı alıyorum. Bana yardım edebileceğini bildiğin her şey. 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))
thenakulchawla
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.