8 votes

Pourquoi ne puis-je pas utiliser l'utilitaire de programmation GNU Debugger (GDB) sur Mac en tant qu'utilisateur standard ?

Je ne peux utiliser que le Débogueur GNU (GDB) lorsqu'il est authentifié en tant qu'administrateur.

Lorsque je lance GDB en tant qu'utilisateur standard, après avoir donné la commande GDB "run", une boîte de dialogue me demande le nom d'utilisateur et le mot de passe d'un utilisateur du groupe "Developer Tools".

Le problème est que je suis déjà dans le groupe "Developer Tools", donc je ne sais pas quoi faire d'autre...

Gracias.

Plate-forme :

  • MacOS X 10.7.1
  • GCC 4.2.1
  • i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Basé sur Apple Inc. build 5658) (LLVM build 2335.15.00)
  • GNU gdb 6.3.50-20050815 (version Apple gdb-1705)
  • Cette GDB a été configurée en tant que "x86_64-apple-darwin".

7voto

jplindstrom Points 563

Êtes-vous sûr d'être dans le groupe Outils de développement ?

Essayez d'exécuter la commande suivante

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

Cela devrait ajouter votre compte d'utilisateur au groupe.

2voto

1600hp Points 6262

J'ai eu le même problème, il ne s'exécutait pas, sauf en tant que Root/sudo, ce qui signifiait que je ne pouvais pas l'utiliser avec eclipse, ce qui m'a fait perdre 5 heures de travail à déboguer le problème. Voici mes résultats.

Tout d'abord, gdb a généré un message d'erreur similaire lorsqu'il a été exécuté sous mon compte d'utilisateur.

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

J'ai essayé de signer le code en créant un certificat à l'aide du trousseau, puis en marquant le certificat comme étant de confiance pour la signature du code. Je l'ai ensuite appliqué à l'exécutable à partir de la ligne de commande.

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

Cela n'a pas fonctionné

J'ai essayé d'ajouter mon compte utilisateur aux groupes procview, procmod, et _developer (probablement peu sûr, mais je ne déploie mon code que sur github, et je n'utilise pas la machine à des fins personnelles, donc je peux vivre avec ça).

sudo dscl . append /Groups/procmod GroupMembership bryanhunt

sudo dscl . append /Groups/procview GroupMembership bryanhunt

sudo dscl . append /Groups/_developer GroupMembership bryanhunt

Cela n'a pas fonctionné

Enfin, j'ai essayé de changer le groupe de l'exécutable et le bit collant du groupe.

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

Cela a fonctionné

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X