Вопрос по gdb, macos, c++ – Emacs 24 и GDB 6.3 в Mac OS X

12

Я пробовал Emacs 24 (предварительный тест 24.0.95.1) на OS X Lion в течение последних нескольких дней, но столкнулся с некоторыми проблемами с новым интерфейсом gdb / MI.

С GDB 6.3, который поставляется с Xcode, но интерфейс gdb / MI, похоже, не загружается вообще. Похоже, что он пытается запустить режим GDB GUD, но на самом деле никакие команды не работают.

Я также пытался установить GDB-7.4 через Homebrew. Это отчасти помогает мне. появляется интерфейс gdb-many-windows, но приглашение gdb никогда не появляется. Emacs просто сидит там, потребляя 100% ресурсов процессора, но все же не перестает отвечать на запросы. Я все еще могу открывать файлы и т.д. Я просто не могу ничего сделать с GDB.

Кто-нибудь еще сталкивался с подобными проблемами? Удалось ли вам их решить, и если да, то как?

Edit: 2012-06-10: Я только что попробовал снова с недавно выпущенным Emacs 24.1. Поведение с GDB 6.3 (через XCode) остается тем же. GDB-7.4 немного хуже в том смысле, что он запускает GDB, а emacs использует 100% CPU, но теперь я больше ничего не могу сделать. Emacs если заморожено: /

Это может быть проблема с правами, а не с кодом. Вот права LLVM's lldb использует. jww

Ваш Ответ

2   ответа
7

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

Он все еще жалуется на сертификацию ..

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))

Тогда я попробовал:

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

И этоработае для меня сейчас.

Решение упомянуло, что ссылка на sourceware.org работает на меня. Благодарность enig123
Большой! Chgrp и chmod работали. Теперь я могу использовать GDB на 10.6. AGS
Спасибо, как ты, сертификат не сделал это для меня. Отлично сработано Codie CodeMonkey
4

который я создал на Mac OSX Lion (10.7.4) из источников в Savannah git. Сборка основана на теге emacs-24.1 и имеет патч для полноэкранной поддержки Lion.

Gdb 6.3 у меня странно работает. Он жалуется на флаг -i = mi и продолжает выводить странную метку времени перед каждой командной строкой, нажимая клавишу(gdb) далеко вправо, что затрудняет его использование. Завершения не работают так же хорошо, и могут быть другие вещи, которые я не потрудился бы исследовать намного дальше.

Используя gdb 7.4 из крана homebrew / dupes, при попытке запустить gdb из Emacs возникла та же ошибка, которая описана в ссылке, упомянутой Firegun,http: //sourceware.org/gdb/wiki/BuildingOnDarwi:

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))

Однако я выполнил каждый шаг, описанный там, чтобы создать сертификат и подписать GDB, и теперь он работает нормально. Я запускаю GDB, используяM-x gdb и затем загрузите приложение, которое я хочу отладить, используяfile команда. Когда я набираюrun он запрашивает мой пароль, чтобы Инструменты разработчика могли контролировать другой процесс. После предоставления моего пароля он работает нормально. Он останавливается на точках останова, он следует коду со стрелками на краю, и если перейти к Gud> GDB-MI> Показать другие окна, он показывает другие окна с информацией.

Похожие вопросы