¿Por qué no puedo usar la utilidad de programación GNU Debugger (GDB) en Mac como usuario estándar?

8

Solo puedo usar GNU Debugger (GDB) cuando me autentico como administrador.

Cuando inicio GDB como usuario estándar, después de dar el comando GDB "ejecutar", un cuadro de diálogo me solicita el nombre de usuario y la contraseña de un usuario en el grupo "Herramientas para desarrolladores".

El problema es que ya estoy en el grupo "Herramientas para desarrolladores", así que no sé qué más hacer ...

¡Gracias!

Plataforma:

  • MacOS X 10.7.1
  • CCG 4.2.1
  • i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Basado en Apple Inc. compilación 5658) (LLVM compilación 2335.15.00)
  • GNU gdb 6.3.50-20050815 (versión de Apple gdb-1705)
  • Este GDB se configuró como "x86_64-apple-darwin".
Pietro
fuente

Respuestas:

7

¿Estás seguro de que estás en el grupo Herramientas para desarrolladores?

Intenta ejecutar este comando

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

Eso debería agregar su cuenta de usuario al grupo.

lemonginger
fuente
Ahora sé que los grupos que se muestran en la GUI no son reales ;-) ¡Gracias!
Pietro
2

Tuve el mismo problema, no se ejecutó, excepto como root? / Sudo, lo que significaba que no podía usarlo con eclipse, lo que significaba que perdí 5 horas de trabajo para solucionar el problema. Aquí están mis resultados.

En primer lugar, gdb generó un mensaje de error similar cuando se ejecutó en mi cuenta de usuario.

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

Intenté firmarlo con un código creando un certificado usando Keychain y luego marcando el certificado como confiable para la firma del código. Luego aplíquelo al ejecutable desde la línea de 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

Eso no funciono

Intenté agregar mi cuenta de usuario a los grupos procview, procmod y _developer (probablemente inseguro, pero solo implemento mi código en github y no uso la máquina para uso personal, así que puedo vivir con eso)

sudo dscl . append /Groups/procmod GroupMembership bryanhunt

sudo dscl . append /Groups/procview GroupMembership bryanhunt

sudo dscl . append /Groups/_developer GroupMembership bryanhunt

Eso no funciono

Finalmente, intenté cambiar el grupo del ejecutable y el bit de grupo.

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

Eso funciono

picsolve_binarytemple
fuente
No importa lo que haga, me sale el siguiente error. Cualquier cosa que puedas saber para ayudarme. 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