python exception <type 'exceptions.ImportError'> Kein Modul namens gdb:
Habe ich gerade kompiliert gdb 7.8
von der Quelle in meinem home-Verzeichnis auf einem server-Rechner, auf denen linux ausgeführt wird. Ich hatte zuvor mit gdb 7.6
, und abgesehen von Probleme mit der Stabilität gdb
selbst (der Grund für das upgrade) funktioniert alles einwandfrei.
Seit dem upgrade von gdb
, wenn ich cgdb 0.6.7
bekomme ich sofort folgende Meldung:
Python Exception <type 'exceptions.ImportError'> No module named gdb: warning: Could not load the Python gdb module from `/home/username/bin/gdb//python'. Limited Python support is available from the _gdb module. Suggest passing --data-directory=/path/to/gdb/data-directory.
Als ich gebaut gdb
ich verwendet ./configure --with-python
.
Wenn ich cgdb
und mein Programm erreicht einen segfault, ich tippe backtrace
und bekomme die folgende Meldung:
Python-Exception Kein Modul namens gdb.frames:
So, wie es scheint, bin ich effektiv nicht nutzen gdb
/cgdb
ohne python-Unterstützung. Was kann ich tun, um dieses Problem beheben?
FWIW, ich weiß nicht verwenden python
Schreibe ich normalerweise c++
.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie den Wert von "
--data-directory
". Zum Beispiel, wenn Sie Lastgdb
aus dem build-Verzeichnis, sollte der Befehl sein:Dann
gdb
kann wissen, wo zu findenpython
Modul.Finden Sie diese Diskussion.
data-directory
in den Ordner, wo diegdb
binary ist, damit diese Ergebnisse in die gleichen Fehler.-data-directory
Wert als Ordner für den gdb.data-directory
in ihm können Sie versuchen/path/to/your/gdb --data-directory=/usr/share/gdb
(oder wo auch immer Ihre Distribution es ausdrückt).Versuchen, die cp-python-lib, die --data-directory=
/path/to/gdb/data-directory
. Mein Daten-Verzeichnis /usr/local/share/gdb/python,Ich lief einfach in und wollte zu teilen, was ich gefunden habe. Während der Kompilierung wird insbesondere die 'make install' Schritt, bemerkte ich eine Nachrichten sagten:
WARNING: `makeinfo' is missing on your system. You should only need it if
you modified a `.texi' or `.texinfo' file, or any other file
indirectly affecting the aspect of the manual. The spurious
call might also be the consequence of using a buggy `make' (AIX,
DU, IRIX). You might want to install the `Texinfo' package or
the `GNU make' package. Grab either from any GNU archive site.
Klingt es so, als ob es OK ist, dass ich nicht haben, makeinfo, aber in der Tat, es führte zu dem Fehler, dass der OP gefragt. Wenn ich installiert
texinfo
ich dann neu installiertmake install
und lief gdb, die keine python-Fehlermeldung.nur zu der oben genannten Antworten:
Wahrscheinlich haben Sie kopiert die ausführbare Datei gdb zu
/usr/local/bin
(das ist meine Art und Weise zu priorisieren, die neueste gdb, die ich installiert als Standard-shell gdb, während das verhindern vermasselt mit dem Standard-Ubuntu gdb). Dann sollten Sie beachten, dass Sie müssen die Daten-directory-parameter von den ursprünglichen Ort, um die eine, die Sie kopiert haben in/usr/local/bin
. Also das wäre:PS: ich habe gdb-8.1 auf Ubuntu 16.04