Perché non posso utilizzare l'utilità di programmazione GNU Debugger (GDB) su Mac come utente standard?

8

Posso usare solo GNU Debugger (GDB) una volta autenticato come amministratore.

Quando lancio GDB come utente standard, dopo aver dato il comando GDB "Esegui", una finestra di dialogo richiede un nome utente e una password di un utente nel gruppo "Strumenti per sviluppatori".

Il problema è che sono già nel gruppo "Strumenti per sviluppatori", quindi non so cos'altro fare ...

Grazie!

Piattaforma:

  • MacOS X 10.7.1
  • GCC 4.2.1
  • i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Basato su Apple Inc. build 5658) (LLVM build 2335.15.00)
  • GNU gdb 6.3.50-20050815 (versione Apple gdb-1705)
  • Questo GDB è stato configurato come "x86_64-apple-darwin".
posta Pietro 13.09.2011 - 18:23
fonte

2 risposte

7

Sei sicuro di essere nel gruppo Strumenti per gli sviluppatori?

Prova a eseguire questo comando

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

Questo dovrebbe aggiungere il tuo account utente al gruppo.

    
risposta data 13.09.2011 - 19:20
fonte
2

Ho avuto lo stesso problema, non funzionava, tranne come root / sudo, il che significava che non potevo usarlo con eclipse, il che significava che avevo perso 5 ore di lavoro per il debug del problema. Ecco i miei risultati.

In primo luogo, gdb ha generato un messaggio di errore simile quando è stato eseguito con il mio account utente.

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

Ho provato a firmare il codice creando un certificato utilizzando Keychain, quindi contrassegnando il certificato come attendibile per la firma del codice. Quindi applicarlo all'eseguibile dalla riga di comando.

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

Non ha funzionato

Ho provato ad aggiungere il mio account utente ai gruppi procview, procmod e _developer (probabilmente insicuri, ma distribuisco il mio codice solo su github e non uso la macchina per uso personale, quindi posso conviverci)

sudo dscl . append /Groups/procmod GroupMembership bryanhunt

sudo dscl . append /Groups/procview GroupMembership bryanhunt

sudo dscl . append /Groups/_developer GroupMembership bryanhunt

Non ha funzionato

Infine, ho provato a modificare il gruppo dell'eseguibile e il gruppo sticky bit.

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

Ha funzionato

    
risposta data 28.11.2013 - 15:22
fonte

Leggi altre domande sui tag