2017-02-18 17 views
0

das Problem ist bereits bekannt, dass gdb nicht mehr mit OS X Sierra funktioniert.gdb os x sierra 10.12.3 funktioniert nicht

Das ist wirklich ärgerlich, da ich bereits über die Lösung recherchiert habe, und es gab einige Lösungen, die aber anscheinend nicht mehr funktionieren. Ich habe versucht, die. Gdbinit-Datei-Lösung und die Deaktivierung von Csrutil-Lösung, beide funktionieren nicht.

Sooo meine Frage ist: Weiß jemand, wie man es in 10.12.3 beheben?

Vielen Dank!

+0

Haben Sie versucht, die neueste [GDB] (https://www.gnu.org/software/gdb/) 7.12.1 aus dem Quellcode zu kompilieren? –

+0

Siehe auch http://sourceware-org.1504.n7.nabble.com/gdb-on-macOS-10-12-quot-Sierra-quot-td415708.html –

+0

vielen Dank, Sie gaben mir die Idee zu einfaches Update gdb lol. Es hilft, ich habe es selbst herausgefunden! :) Ich werde die Antwort in einem Post für die Jungs in der Zukunft schreiben. –

Antwort

1

So dank Basile Starynkevitch, der gab mir nur die Idee gdb

SOLUTION zu aktualisieren: für die neueste Version (die 7.12.1 ist derzeit

Sie müssen einfach Update gdb). Angenommen, Sie Homebrew installiert haben:

Das ist, was ich getan habe:

brew update 
brew remove gdb 
brew install gdb 

Es wird nun auf die neueste Version aktualisiert.

Jetzt coden Sie gdb erneut mit dem Zertifikat, das Sie zuvor verwendet haben.

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

Letzter Schritt ist nach wie vor die Abhilfe zu verwenden, um die .gdbinit-Datei zu erstellen:

nano ~/.gdbinit 

->set startup-with-shell off

Debugging funktioniert für mich jetzt :) (OS X Sierra 10.12. 3 - gdb 7.12.1).

UPDATE:

Offenbar wird es bestimmte Probleme beheben, aber nicht die ganze Problematik selbst. Es wird immer noch Fehler verursachen. Ehrlich, meine Lösung: Wenn Sie können: Wechseln Sie zu LLDB und eine andere IDE (Netbeans unterstützt nicht LLDB). Oder benutze Linux. Ich benutze derzeit Ubuntu mit einem Stick auf meinem MacBook Pro.

+1

funktioniert nicht für mich. Immer noch kaputt –

-1

Ich fand, dass gdb 7.12.1 auch nicht für mich funktionierte. Ich denke nicht, dass es das entscheidende Commit 82b19a4d2f9c9e8d56f zu gdb beinhaltet, das am 9. Nov. 2016 erstellt wurde. Ich konnte den gdb 8.0-Entwicklungszweig jedoch zum Laufen bringen.

Herunterladen mit z.B.

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

Dann gehen Sie in die abgemeldeten Verzeichnis

cd binutils-gdb 

I Macports so haben (a) bis Macports Bibliotheken und wollte verknüpfen wollte (b) Sachen in/usr/local vermeiden, dass so konfiguriert mit

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


make -j8 

make install 

=> puts gdb ausführbare in ~/bin; (statische) Bibliotheken in ~/lib; Dokumentation in ~/Aktie

Dann folgen André's Tipp oben, um die Code-Unterzeichnung zu tun; obwohl es jetzt sein wird codesign -fs gdb-certi ~/bin/gdb

0

Keine GDB 7.11 oder 7.12.1 funktioniert nicht auf Sierra 10.12.4 Kurz gesagt, es ist wegen Apple-Sicherheitsupdate. Wir müssen auf die erneute Aktivierung warten, wenn eine neue Version angezeigt wird.

Easy WA soll LLDB als Debugger für jetzt verwenden. Beispiel Anweisungen here

Eine weitere LLDB Anweisung here

3

wie es sieht immer noch keine Lösung ist. Ich glaube nicht, dass "LLDB statt GDB verwenden" die ultimative Lösung ist. Also habe ich einen ziemlich einfachen Docker Container gebaut, der die Grundlagen (g ++ und gdb) enthält.

Hier ist die Docker Hub container, und die Dockerfile ist auf dieser Github repo.

Mit dieser Lösung können Sie GDB auf Ihrem Mac mit ein paar einfachen Befehlen verwenden. Und da der Ordner, in dem Sie kodieren, eingebunden ist, werden alle Ihre Änderungen automatisch angezeigt, sobald Sie auf Speichern klicken.

Hoffe das hilft jemand anderen da draußen.

Verwandte Themen