GDB manquant dans OS X v10.9 (Mavericks)

108

Je suis allé utiliser GDB dans OS X v10.9 (Mavericks), et ce n'est pas là. Où est-il passé?

# /usr/lib/gdb
-bash: /usr/bin/gdb: No such file or directory
# gdb
-bash: gdb: command not found

J'ai également lancé Xcode 5.0.1:

Préférences> Téléchargements

..et il n'y a plus d'outils de ligne de commande disponibles - ffs!

je vais
la source
Les outils de ligne de commande sont disponibles sur developer.apple.com/downloads/... Pour y arriver, depuis XCode, accédez à XCode> Open Developer Tool> Plus d'outils de développement ...
Parker
EDIT: Peu importe, car GDB est également absent des outils de ligne de commande ...
Parker
3
Depuis que j'ai posé cette question, beaucoup de gens m'ont demandé quelles options ./configure j'avais l'habitude de faire fonctionner:./configure --prefix=/usr/local --enable-targets=x86_64-apple-darwin13.0.0 --enable-64-bit-bfd --disable-werror --build=x86_64-apple-darwin13.0.0 --host=x86_64-apple-darwin13.0.0 --target=x86_64-apple-darwin13.0.0
l'L'l

Réponses:

142

gdba été remplacé par lldbet n'est plus pris en charge. gccet llvm-gccsont également partis, remplacés par clang.

Catfish_Man
la source
2
y a-t-il encore un moyen d'utiliser gdb?
l'L'l
Pas que je sache. Vous pouvez le construire vous-même (par exemple, via homebrew), mais je ne sais pas comment cela fonctionnerait.
Catfish_Man
Salut M. Catfish, je l'ai fait fonctionner. Il a juste fallu le compiler à partir des sources avec la bonne commande ./configure :) thx!
l'L'l
2
Je suis également curieux de connaître le ./configure. J'ai construit en utilisant les paramètres par défaut et tout fonctionne sauf pour l'attachement aux processus en direct. Les symboles sont faux et il se bloque lorsque je ctrl-C.
RawwrBag
1
J'ai installé via brew, et je continue à recevoir "_____: pas au format exécutable: format de fichier non reconnu" lorsque j'essaye de charger un exécutable. Quelqu'un peut-il commenter la réussite de son installation?
Parker
38

Vous pouvez l'installer sur Mavericks avec Homebrew.

brew install homebrew/dupes/gdb
Jakub Głazik
la source
brew install dupxcontinue de me direchecking for gdb... no
lajarre
1
Cela n'a pas fonctionné pour moi sur Maverics. Homebrew m'a donné une erreur et il semble y avoir pas mal de problèmes ouverts avec l'installation.
Dan Bradbury
Cela a presque fonctionné pour moi, puis je me suis plaint que GDB n'était pas correctement signé (quand j'ai en fait essayé de déboguer quelque chose avec).
mpontillo
1
FYI: Cela a fonctionné pour moi. Je suppose que différentes personnes ont différents niveaux de difficulté avec cela. Si vous êtes en mesure de l'installer, assurez-vous de regarder ici les instructions de signature.
Neil Traft
2
J'ai également eu l'erreur de signature, mais elle a été résolue lorsque j'ai exécuté sudo gdb target.
Vlad Lifliand
9

Cette commande Homebrew fonctionne pour installer les outils GDB sur Mavericks:

brew install https://raw.github.com/Homebrew/homebrew-dupes/master/gdb.rb
Xin
la source
@ Sławosz brew install gdbsemble fonctionner maintenant (sur Mavericks).
amertkara
3

Merci I'L'I. J'ai utilisé vos options ./configure et j'ai travaillé comme un charme. L'étape suivante consiste à dire à OS X que nous autorisons GDB à déboguer. Cela se fait en créant un certificat via le trousseau, exportez-le, puis sudo codesing -s gdb-cert /route/to/gdbdonnez vos informations d'identification et nous avons terminé.

Voir les instructions détaillées du wiki GDB

user1008139
la source
2

J'ai compilé GDB à partir de la source dans Maverics.

J'ai modifié le makefile (après ./configure) pour supprimer certaines erreurs qui auraient dû être des avertissements ... (ajouté le -Wno-string-plus-int)

Line 385:
CFLAGS = -g -O2 -Wno-string-plus-int

Line 388:
CXXFLAGS = -g -O2 -Wno-string-plus-int

Je ne sais pas si les deux sont nécessaires.

Mais

Il s'avère que la version standard ne prend pas en charge le débogage à partir de fichiers .app (comme nécessaire pour les applications Lazarus utilisant l'interface Carbon)

Si vous souhaitez le faire vous-même, suivez ce lien: https://sourceware.org/gdb/wiki/BuildingOnDarwin

Ben
la source
Cela ne fonctionnera probablement pas. J'ai essayé dans le passé et le gdb produit ne pouvait pas déboguer les applications.
jww
J'ai également pu compiler à partir des sources sur Mavericks, après avoir défini CFLAGS = "- I / usr / local / include", donc il a récupéré libintl.h. N'oubliez pas de signer le code, sinon gdb ne fonctionnera pas. Voir ntraft.com/installing-gdb-on-os-x-mavericks pour plus d'informations à ce sujet. Le résultat final de tout cela a été un débogage réussi dans NetBeans (ma principale raison d'obtenir GDB).
Pete855217
1

Dans mon cas, je l'ai fait fonctionner sur OS X avec les étapes suivantes:

  1. Configurez GDB Homebrew exactement comme décrit ici http://wiki.lazarus.freepascal.org/GDB_on_OS_X_Mavericks_and_Xcode_5

  2. Ensuite, définissez le débogage sur Dwarf2 : Projet -> Options du projet. Entrez la description de l'image ici

Si Run / Construire Raccroche puis de redémarrage de l' ordinateur (taskgated ou un autre certificat de processus le plus probablement pas authentifié), les paramètres de débogage retour à « automatique (-G) » Compile & run (dialogue d' authentification apparaît et Connectez - vous), puis changer les paramètres de débogage pour "Dwarf2" et il devrait se recompiler

Essayez de toujours arrêter GDB s'il se bloque après une opération d'exécution pour éviter cet échec d'authentification.

Evalds Urtans
la source
0

Vous pouvez installer www.macports.org et installer GDB. Cependant, vous devrez attendre le programme d' installation de MacPorts pour Mavericks, car au moment de la rédaction de ce document, il n'est pas encore publié.

Antonae
la source
0

Quand j'ai regardé, MacPorts n'était pas encore disponible pour Mavericks, mais maintenant c'est le cas!

Fink ne l'est toujours pas.

Mais le GDB standard ne prend toujours pas en charge le débogage des fichiers .app.

Ben
la source
-1

Exécutez ceci pour installer les outils de ligne de commande:

xcode-select --install
user2922471
la source
4
CLT pour OS X 10.9 Mavericks n'a pas de GDB, c'est le problème que l'OP tente de résoudre.
Parker
-1

Les utils de ligne de commande ne sont pas inclus dans le nouveau Xcode, mais vous pouvez l'obtenir en suivant ces instructions. (Le commentaire de sélection Xcode ci-dessus n'a pas fonctionné pour moi.)

Ouvrez Xcode

Dans l'élément de menu de l'application "Xcode", sélectionnez Ouvrir l'outil de développementPlus d'outils de développement ...

Cela vous amène à un site avec un tas de logiciels. Allez-y et téléchargez et installez "Outils de ligne de commande (OS X Mavericks) pour Xcode - fin octobre 2013".

(Crédit à Jore https://discussions.apple.com/message/23513040#23513040 )

George
la source
7
CLT n'a pas GDB pour 10,9
Parker
-4

Installez Mac OS X v10.8 (Mountain Lion) avec Xcode 4.6 dans une machine virtuelle et amusez-vous)))

J'utilise VMware Fusion, mais vous pouvez essayer la VirtualBox gratuite . Vous pouvez obtenir les anciennes versions de MacOS sur l'AppStore et l'ancienne version de Xcode sur le site Apple Developer.

Alexey Lobanov
la source