Emacs 24 et GDB 6.3 sur Mac OS X

Je teste Emacs 24 (prétest 24.0.95.1) sur OS X Lion depuis quelques jours, mais je rencontre quelques problèmes avec la nouvelle interface gdb / MI.

Avec GDB 6.3, Xcode est fourni, mais l’interface gdb / MI ne semble pas se charger du tout. Il semble essayer de démarrer le mode GDB GUD, mais aucune commande ne fonctionne réellement.

J’ai également essayé d’installer GDB-7.4 via Homebrew. Cela m’amène en partie là. l’interface gdb-plusieurs-fenêtres apparaît, mais l’invite gdb n’arrive jamais. Emacs est juste en train de manger 100% du processeur, mais ne devient pas insensible. Je peux toujours ouvrir des fichiers, etc. Je ne peux rien faire avec GDB.

Quelqu’un d’autre a-t-il rencontré des problèmes similaires? Avez-vous pu les résoudre et si oui, comment?


Edit: 2012-06-10: Je viens d’essayer à nouveau avec le nouvel Emacs 24.1. Le comportement avec GDB 6.3 (via Xcode) rest le même. GDB-7.4 est légèrement pire en ce sens qu’il démarre GDB et qu’emacs consum jusqu’à 100% de la CPU, mais je suis maintenant incapable de faire autre chose. Emacs si gelé: /

J’ai essayé d’utiliser le moyen de modifier la certificateion par Keychain.app à partir de

http://sourceware.org/gdb/wiki/BuildingOnDarwin

Il se plaint toujours de la certificateion.

GNU gdb (GDB) 7.4 Copyright (C) 2012 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later  This is free software: you are free to change and redissortingbute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-apple-darwin11.3.0". For bug reporting instructions, please see: ... Reading symbols from /Users/hanfei/Documents/mis/mis...Reading symbols from /Users/hanfei/Documents/mis/mis.dSYM/Contents/Resources/DWARF/mis...done. done. (gdb) r Starting program: /Users/hanfei/Documents/mis/mis Unable to find Mach task port for process-id 52327: (os/kern) failure (0x5). (please check gdb is codesigned - see taskgated(8)) 

Puis j’ai essayé:

 $ sudo chgrp procmod /yourpath/gdb $ sudo chmod g+s /yourpath/gdb 

Et ça marche pour moi maintenant.

J’utilise Emacs 24.1 que je me suis construit avec Mac OSX Lion (10.7.4) à partir des sources de Savannah git. La construction est basée sur la balise emacs-24.1 et applique un correctif pour la prise en charge du plein écran Lion.

Gdb 6.3 fonctionne étrangement pour moi. Il se plaint du drapeau -i = mi et continue à imprimer un horodatage étrange avant chaque invite de commande, poussant le (gdb) très à droite et le rendant très difficile à utiliser. Les compléments ne fonctionnent pas aussi bien et il pourrait y avoir d’autres choses que je n’aurais pas pris la peine d’enquêter davantage.

Lors de l’utilisation de gdb 7.4 à partir de la touche homebrew / dupes, lors de la tentative d’exécution de gdb à partir d’Emacs, la même erreur que celle décrite dans le lien mentionné par Firegun, http://sourceware.org/gdb/wiki/BuildingOnDarwin :

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

Cependant, j’ai suivi toutes les étapes décrites ici pour créer un certificate et signer gdb et maintenant tout fonctionne correctement. Je lance gdb à l’aide de Mx gdb , puis charge l’application que je veux déboguer à l’aide de la commande de file . Lorsque je tape run il demande mon mot de passe pour permettre aux outils de développement de prendre le contrôle d’un autre processus. Après avoir donné mon mot de passe, tout se passe bien. Il s’arrête sur les points d’arrêt, il suit le code avec des flèches dans la marge, et si vous allez dans Gud> GDB-MI> Afficher autres fenêtres, il affiche les autres fenêtres avec des informations.