2017-02-18 6 views
0

проблема уже известна, что gdb больше не работает с OS X Sierra.gdb os x sierra 10.12.3 не работает

Это действительно раздражает, так как я уже исследовал решение, и были некоторые решения, но они, по-видимому, больше не работают. Я попытался использовать решение файла .gdbinit и отключить решение csrutil, оба не работают.

Sooo мой вопрос: кто-нибудь знает, как исправить его в 10.12.3?

спасибо!

+0

Вы пытались скомпилировать последний [GDB] (https://www.gnu.org/software/gdb/) 7.12.1 из исходного кода? –

+0

См. Также http://sourceware-org.1504.n7.nabble.com/gdb-on-macOS-10-12-quot-Sierra-quot-td415708.html –

+0

Большое вам спасибо, вы дали мне идею Простое обновление gdb lol. Это помогает, я понял себя тогда! :) Я напишу ответ в сообщении для парней в будущем. –

ответ

1

Так благодаря Basile Starynkevitch, который только что дал мне идею обновить GdB

РЕШЕНИЕ:

Вы просто должны обновления GdB для последней версии (которая в настоящее время 7.12.1). Предполагая, что вы установили Homebrew:

Вот что я сделал:

brew update 
brew remove gdb 
brew install gdb 

Он теперь обновлен до последней версии.

Теперь кодовое имя gdb снова с сертификатом, который вы использовали ранее.

sudo killall taskgated 
codesign -fs gdb-certi /usr/local/bin/gdb 
launchctl load /System/Library/LaunchDaemons/com.apple.taskgated.plist 

Последний шаг по-прежнему использовать обходной путь для создания файла .gdbinit:

nano ~/.gdbinit 

->set startup-with-shell off

Debugging работает для меня теперь :) (OS X Sierra 10,12. 3 - gdb 7.12.1).

UPDATE:

Очевидно, это будет исправить некоторые проблемы, но не вся проблематика сама по себе. Это все равно вызовет ошибки. Честно говоря, мое решение: когда вы можете: переключиться на LLDB и другую IDE (Netbeans не поддерживает LLDB). Или используйте Linux. В настоящее время я использую Ubuntu с палкой на моем MacBook Pro.

+1

не работает для меня. Все еще сломан –

-1

Я обнаружил, что gdb 7.12.1 тоже не работает для меня. Я не думаю, что он включает в себя решающее дело 82b19a4d2f9c9e8d56f для gdb, сделанное 9 ноября 2016 года. Однако я смог получить ветку разработки gdb 8.0.

Загрузить с, например.

git clone --depth 1 --branch gdb-8.0-branch git://sourceware.org/git/binutils-gdb.git 

Затем перейдите в извлеченном каталог

cd binutils-gdb 

У меня есть MacPorts так (а) хотел связать с MacPorts библиотек и (б) хотел, чтобы избежать сдачи вещей в/USR/местные, так с

./configure prefix=$HOME LDFLAGS="-L/opt/local/lib" CPPFLAGS="-I/opt/local/include" 


make -j8 

make install 

=> устанавливает исполняемый файл gdb в ~/bin; (статические) библиотеки в ~/lib; документация в ~/share

Затем следуйте совету Андре, чтобы сделать подписание кода; хотя теперь это будетcodeign -fs gdb-certi ~/bin/gdb

0

Отсутствие GDB 7.11 или 7.12.1 не будет работать на Sierra 10.12.4. Вкратце из-за обновления безопасности Apple. Нам нужно ждать повторного включения, когда появится какая-то новая версия.

Easy WA должен использовать LLDB в качестве отладчика на данный момент. Примеры инструкций here

Другой LLDB инструкция here

3

Похоже, там до сих пор не является решением этой проблемы. Я не думаю, что «использовать LLDB вместо GDB» - это окончательное решение. Поэтому я пошел вперед и построил довольно простой контейнер докеров, который содержит самые основы (g ++ и gdb).

Вот Docker Hub container, а файл Docker находится на этом Github repo.

Это решение по крайней мере позволяет использовать GDB на вашем Mac через пару простых команд. И поскольку папка, в которой вы кодируете, смонтирована, как только вы нажмете «Сохранить», все ваши изменения появятся автоматически.

Надеюсь, что это поможет кому-то еще.

Смежные вопросы