2012-04-19 14 views
12

Próbowałem Emacs 24 (wstępny 24.0.95.1) na OS X Lion od kilku ostatnich dni, ale mam problemy z nowym interfejsem gdb/MI.Emacs 24 i GDB 6.3 na Mac OS X

Z GDB 6.3, który jest dostarczany z Xcode, ale interfejs gdb/MI w ogóle nie ładuje się. Wygląda na to, że próbuje uruchomić tryb GDB GUD, ale żadne polecenia nie działają.

Próbowałem także zainstalować GDB-7.4 przez Homebrew. To mnie częściowo doprowadza. pojawia się interfejs gdb-many-windows, ale monit gdb nigdy nie pojawia się. Emacs po prostu siedzi i pobiera 100% mocy procesora, ale nie przestaje reagować. Nadal mogę otwierać pliki itp. Po prostu nie mogę nic zrobić z GDB.

Czy ktoś inny ma podobne problemy? Czy byłeś w stanie je rozwiązać, a jeśli tak, to w jaki sposób?


Edytuj: 2012-06-10: Po raz kolejny spróbowałem z nowo wydanym Emacsem 24.1. Zachowanie z GDB 6.3 (przez Xcode) pozostaje takie samo. GDB-7.4 jest nieco gorszy, ponieważ uruchamia GDB, a emacs wykorzystuje 100% procesora, ale teraz nie mogę zrobić nic więcej. Emacs czy mrożone:/

+0

Może to być problem z uprawnieniami, a nie problem z książkami. Oto uprawnienia [LLVM używa lldb] (http://github.com/llvm-mirror/lldb/blob/master/tools/debugserver/source/debugserver-entitlements.plist). – jww

Odpowiedz

7

Próbowałem użyć sposób modyfikować certyfikacji przez Keychain.app z

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

To wciąż narzeka certyfikacji ..

GNU gdb (GDB) 7.4 
Copyright (C) 2012 Free Software Foundation, Inc. 
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> 
This is free software: you are free to change and redistribute 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: 
<http://www.gnu.org/software/gdb/bugs/>... 
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)) 

Potem próbowałem:

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

I to w orks dla mnie teraz.

+0

Dzięki, ten certyfikat nie zrobił tego dla mnie. Dobra robota! –

+0

Świetnie!Chgrp i chmod działały. Mogę teraz użyć GDB na 10.6.8 – AGS

+0

Rozwiązanie wspomniane łącze sourceware.org zadziałało dla mnie. Dzięki. –

4

Używam Emacs 24.1, który sam zbudowałem na Mac OSX Lion (10.7.4) ze źródeł w Savannah git. Kompilacja oparta jest na znaczniku emacs-24.1 i ma zainstalowaną łatkę do obsługi pełnego ekranu Lion.

Gdb 6.3 działa dziwnie dla mnie. Składa skargę na flagę -i = mi i utrzymuje drukowanie dziwnego znacznika czasu przed każdym wierszem polecenia, przesuwając znacznik (gdb) daleko w prawo i sprawiając, że korzystanie z niego jest naprawdę trudne. Ukończenia nie działają tak dobrze i mogą być inne problemy, które nie przeszkadzają mi w dokładnym zbadaniu.

Korzystanie z gdb 7.4 z homebrew/powtórzeń kran, kiedy próbuje uruchomić gdb z Emacs dostał ten sam błąd opisany w linku który Firegun wspomniano, 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)) 

Jednak po każdym kroku opisanego w tam, aby utworzyć certyfikat i podpisać gdb, a teraz działa dobrze. Uruchamiam gdb przy użyciu M-x gdb, a następnie ładuję aplikację, którą chcę debugować, za pomocą komendy file. Po wpisaniu run wyświetla się monit o podanie mojego hasła, aby umożliwić programistom przejęcie kontroli nad innym procesem. Po podaniu hasła działa poprawnie. Zatrzymuje się na punktach przerwania, podąża za kodem ze strzałkami na marginesie, a jeśli przejdzie do Gud> GDB-MI> Wyświetl inne okna, pokazuje inne okna z informacjami.