GDB отсутствует в OS X v10.9 (Mavericks)


108

Я пошел использовать GDB в OS X v10.9 (Mavericks), но его там нет. Куда это делось?

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

Я также запустил Xcode 5.0.1:

Настройки> Загрузки

..и больше не доступны инструменты командной строки - ffs!


Инструменты командной строки доступны на сайте developer.apple.com/downloads/. Чтобы попасть туда, из XCode перейдите в XCode> Открыть инструмент разработчика> Дополнительные инструменты разработчика ...
Паркер

РЕДАКТИРОВАТЬ: Не имеет значения, поскольку GDB также отсутствует в инструментах командной строки ...
Паркер

3
С тех пор, как я задал этот вопрос, многие люди спрашивали, какие параметры ./configure я использовал, чтобы это работало:./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

Ответы:


142

gdbбыл заменен на lldbи больше не поддерживается. gccи llvm-gccтоже ушли, заменены на clang.


2
есть ли еще способ использовать GDB?
l'L'l

Не то, чтобы я в курсе. Вы могли бы построить его самостоятельно (скажем, с помощью доморощенного), но я не знаю, насколько хорошо это сработает.
Catfish_Man

Привет, мистер Сом, у меня все заработало. Просто нужно было скомпилировать его из исходников с помощью правильной команды ./configure :) thx!
l'L'l

2
Мне также интересно узнать о файле ./configure. Я построил с настройками по умолчанию, и все работает, кроме подключения к живым процессам. Символы неправильные, и он вылетает, когда я нажимаю Ctrl-C.
RawwrBag

1
Я установил через brew и продолжаю получать «_____: не в исполняемом формате: формат файла не распознан» при попытке загрузить исполняемый файл. Кто-нибудь может прокомментировать, как они получили успешную установку?
Паркер

38

Вы можете установить его на Mavericks с помощью Homebrew.

brew install homebrew/dupes/gdb

brew install dupxпродолжает говорить мнеchecking for gdb... no
lajarre

1
На Maverics это не сработало. Homebrew выдал мне ошибку, и, похоже, есть несколько открытых проблем с установкой.
Дэн Брэдбери

Это почти сработало для меня, затем я пожаловался, что GDB не подписан должным образом (когда я действительно пытался что-то отладить с его помощью).
mpontillo

1
К вашему сведению: Это сработало для меня. Я полагаю, что у разных людей разный уровень сложности с этим. Если у вас есть возможность установить его, не забудьте найти здесь инструкции для подписи.
Neil Traft

2
У меня также была ошибка подписи, но она разрешилась при запуске sudo gdb target.
Влад Лифлянд

9

Эта команда Homebrew предназначена для установки инструментов GDB на Mavericks:

brew install https://raw.github.com/Homebrew/homebrew-dupes/master/gdb.rb

@ Sławosz, brew install gdbпохоже, сейчас работает (над Mavericks).
amertkara 09

3

Спасибо, я. Я использовал ваши параметры ./configure и работал отлично. Следующий шаг - сообщить OS X, что мы разрешаем GDB отлаживать. Это делается путем создания сертификата через связку ключей, его экспорта, а затем sudo codesing -s gdb-cert /route/to/gdbпредоставления учетных данных, и все готово.

См. Подробные инструкции GDB wiki.


2

Я скомпилировал GDB из исходников в Maverics.

Я изменил make-файл (после ./configure), чтобы подавить некоторые ошибки, которые должны были быть предупреждениями ... (добавил -Wno-string-plus-int)

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

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

Не знаю, нужны ли оба.

Но

Как оказалось, стандартная версия не поддерживает отладку из файлов .app (что необходимо для приложений Lazarus, использующих интерфейс Carbon).

Если вы хотите сделать это самостоятельно, перейдите по этой ссылке: https://sourceware.org/gdb/wiki/BuildingOnDarwin


Вероятно, это не сработает. Я пробовал в прошлом, и созданный GDB не мог отлаживать приложения.
jww

Я также смог скомпилировать из исходного кода на Mavericks после установки CFLAGS = "- I / usr / local / include", чтобы он поднял libintl.h. Не забудьте подписать код, иначе gdb не будет работать. См. Ntraft.com/installing-gdb-on-os-x-mavericks для получения информации об этом. Конечным результатом всего этого была успешная отладка в NetBeans (моя основная причина получить GDB).
Pete855217


1

В моем случае он работал на OS X, выполнив следующие шаги:

  1. Настройте GDB Homebrew точно так же, как описано здесь http://wiki.lazarus.freepascal.org/GDB_on_OS_X_Mavericks_and_Xcode_5

  2. Затем установите отладку на Dwarf2 : Project -> Project Options .. Введите описание изображения здесь

Если Run / Построить вешает затем перезагрузку компьютера (taskgated или какой - либо другой сертификат процесса , скорее всего , не прошедшее проверку подлинности), отладочные настройки обратно в «автоматическом (-g)» компиляции и прогона (появляется диалог аутентификации и входа в систему ), а затем изменить параметры отладки для "Dwarf2", и он должен снова скомпилироваться

Старайтесь всегда останавливать GDB, если он дает сбой после выполнения операции, чтобы предотвратить эту ошибку аутентификации.


0

Вы можете установить www.macports.org и установить GDB. Однако вам придется подождать установщика MacPorts для Mavericks, поскольку на момент написания он еще не выпущен.


0

Когда я смотрел, MacPorts БЫЛ еще недоступен для Mavericks, но теперь он есть!

Финк все еще нет.

Но стандартный GDB по-прежнему не поддерживает отладку файлов .app.


-1

Запустите это, чтобы установить инструменты командной строки:

xcode-select --install

4
CLT для OS X 10.9 Mavericks не имеет GDB, это проблема, которую OP пытается решить.
Паркер

-1

Утилиты командной строки не включены в новый Xcode, но вы можете получить их, следуя этим указаниям. (Приведенный выше комментарий выбора Xcode не сработал для меня.)

Откройте Xcode

В пункте меню приложения «Xcode» выберите Open Developer ToolMore Developer Tools ...

Вы попадете на сайт с множеством программного обеспечения. Скачайте и установите «Инструменты командной строки (OS X Mavericks) для Xcode - конец октября 2013 года».

(Кредит Джоре https://discussions.apple.com/message/23513040#23513040 )


7
CLT не имеет GDB для 10.9
Паркер

-4

Установите Mac OS X v10.8 (Mountain Lion) с Xcode 4.6 в виртуальную машину и получайте удовольствие)))

Я использую VMware Fusion, но вы можете попробовать бесплатный VirtualBox . Вы можете получить старые версии MacOS из AppStore и старую версию Xcode с сайта Apple Developer.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.