C++ - app auf Ubuntu. Nach der Installation von gcc 4.8.1 die gdb funktioniert nicht
Ich installiert gcc 4.8.1 unter Ubuntu 12.04 (ich hatte zum hinzufügen von ppa, das zu tun) jetzt gdb zeigt die folgende Meldung an:
Nicht in der Lage zu finden, dynamische linker Haltepunkt-Funktion.
Der GDB wird nicht in der Lage zu debug-shared-library-Initialisierungen
und verfolgen ausdrücklich das dynamische laden von code.Could not load shared library Symbole für 5 Bibliotheken, z.B. /usr/lib/x86_64-linux-gnu/libstdc++.so.6.
Verwenden Sie die "info sharedlibrary" - Befehl, um die komplette Liste.
Brauchen Sie "set solib-search-path" - oder "set sysroot"?
Habe ich google und ich fand diesen Artikel zu beste Antwort auf meine Frage:
http://www.fayewilliams.com/2013/01/31/gdb-unable-to-find-dynamic-linker-breakpoint-function/
aber ich verstehe immer noch nicht, was Sie tun müssen. Kann mir da jemand helfen. THX!!!
- Alternativ könnte passieren
-gdwarf-2
an den compiler zum generieren von debug-Symbolen kompatibel mit GDB 7.4.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte auch das gleiche problem und konnte es lösen.
Habe ich installiert, die Letzte "stabile" version von GCC (4.8.1) aus dieser PPA (https://launchpad.net/~ubuntu-toolchain-r/+archive/test), und alles war perfekt, bis ich zu tun hatte mit der debugging-Ausgabe. Sie können feststellen, dass in diesem PPA die toolchain nicht über eine aktualisierte version von GDB für den Umgang mit den compiler-upgrade. In der Tat, ich habe keine gefunden PPA bietet eine neuere version von GDB.
In meinem Fall habe ich gelöst, diese situation zu herunterladen und installieren Sie die neueste stabile version von GDB (7.6) von seiner website (http://www.sourceware.org/gdb/). Diese version von GDB ist in der Lage zu lösen, die Symbole, und geben Sie mir alle notwendigen Informationen von Binärdateien erzeugt mit Gcc 4.8.1, auch wenn ich mich mit dem neuen c++11-standard (code, kompiliert mit -std=c++11 flag).
Berücksichtigen Sie, dass die Installation dieser neuen version von GDB manuell zu installieren, standardmäßig wird die Binärdatei in /usr/local/bin/gdb.
Gdb ist in der Regel im Lieferumfang der toolchain.
Wahrscheinlich verwenden Sie gdb, die im Lieferumfang der vorherigen toolchain. Verwenden
entdecken, die gdb, die Sie verwenden.
Debuggen, ein Programm zusammengestellt, mit dem neuen compiler, den Sie verwenden, die neue gdb, weherever es ist.