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

8

Solo puedo usar el GNU Debugger (GDB) cuando esté autenticado como administrador.

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

El problema es que ya estoy en el grupo "Herramientas de desarrollo", por lo 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".
pregunta Pietro 13.09.2011 - 18:23

2 respuestas

7

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

Intenta ejecutar este comando

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

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

    
respondido por el lemonginger 13.09.2011 - 19:20
2

Tuve el mismo problema, no se ejecutaría, excepto como root / sudo, lo que significaba que no podía usarlo con eclipse, lo que significaba que perdí 5 horas de trabajo al depurar el problema. Aquí están mis resultados.

En primer lugar, gdb generó un mensaje de error similar cuando se ejecuta 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))

Intenté firmarlo mediante la creación de un código mediante el uso de Keychain, y luego marcar el certificado como confiable para la firma del código. Luego aplicándolo 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 funcionó

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, por lo 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ó

Finalmente, traté de cambiar el grupo del ejecutable y el bit adhesivo del 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 funcionó

    
respondido por el picsolve_binarytemple 28.11.2013 - 15:22

Lea otras preguntas en las etiquetas