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) en étant authentifié en tant qu'administrateur.

Quand je lance GDB en tant qu'utilisateur standard, après avoir donné la commande GDB "run", une boîte de dialogue me demande un nom d'utilisateur et un mot de passe d'un utilisateur dans le 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...

Merci !

Plateforme :

  • MacOS X 10.7.1
  • GCC 4.2.1
  • i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Basé sur la version d'Apple Inc. 5658) (LLVM version 2335.15.00)
  • GNU gdb 6.3.50-20050815 (Version Apple gdb-1705)
  • Ce GDB a été configuré comme "x86_64-apple-darwin".

7voto

jplindstrom Points 563

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

Essayez d'exécuter cette commande

sudo dscl . append /Groups/_developer GroupMembership 

Cela devrait ajouter votre compte utilisateur au groupe.

2voto

1600hp Points 6262

J'ai eu le même problème, ça ne fonctionnait pas, sauf en tant que root/sudo, ce qui signifiait que je ne pouvais pas l'utiliser avec eclipse, ce qui signifie que j'ai perdu 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 était exécuté sous mon compte utilisateur.

Impossible de trouver le port de tâche Mach pour l'identifiant de processus 4667 : échec (os/kern) (0x5).
 (veuillez vérifier que gdb est signé - voir taskgated(8))

J'ai essayé de le signer en créant un certificat avec Keychain, puis en marquant le certificat comme de confiance pour la signature de code. Ensuite, je l'ai appliqué à l'exécutable depuis 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écurisé, mais je ne déploie mon code que sur github, et 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 et le bit collant du groupe de l'exécutable.

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