8 votos

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

Sólo puedo utilizar el Depurador GNU (GDB) cuando se autentique como administrador.

Cuando inicio GDB como usuario estándar, después de dar al comando GDB "run", un diálogo me pide un nombre de usuario y una contraseña de un usuario del grupo "Developer Tools".

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
  • GCC 4.2.1
  • i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Basado en Apple Inc. build 5658) (LLVM build 2335.15.00)
  • GNU gdb 6.3.50-20050815 (versión de Apple gdb-1705)
  • Este GDB se configuró como "x86_64-apple-darwin".

7voto

jplindstrom Puntos 563

¿Está seguro de que se encuentra en el grupo de Herramientas para desarrolladores?

Pruebe a ejecutar este comando

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

Esto debería añadir tu cuenta de usuario al grupo.

2voto

Yo tuve el mismo problema, no se ejecutaba, excepto como Root/sudo, lo que significaba que no podía usarlo con eclipse, lo que significaba que perdí 5 horas de trabajo depurando el problema. Aquí están mis resultados.

En primer lugar, gdb generaba un mensaje de error similar cuando se ejecutaba bajo 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))

He probado a firmar el código creando un certificado con Llavero y marcando el certificado como de confianza para la firma de código. Luego aplicarlo al ejecutable desde la línea de comandos.

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 funcionó.

He intentado añadir mi cuenta de usuario a los grupos procview, procmod, y _developer (probablemente inseguro, pero sólo despliego mi código a 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 funcionó.

Por último, he probado a cambiar el grupo del ejecutable y el bit de grupo pegajoso.

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 funcionó.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X