So ändern Sie den Python-Interpreter, der gdb verwendet?
Ich bin mit ubuntu 14.04, wo Python ist3, ist ein Standard-system-Paket.
Ich möchte zu debug-Python2.7 Programme mit gdb, aber ich scheine dieses Problem Auftritt:
Wenn ich in gdb, mit der py
Befehl bringt mich in einen Dolmetscher, so lief ich diese Befehle in den interpreter:
Zuerst überprüfe ich die interpreter-version:
(gdb) py
>import sys
>print(sys.version)
>end
3.4.0 (default, Apr 11 2014, 13:08:40)
[GCC 4.8.2]
Dann überprüfe ich, was interpreter ausführbare Datei verwendet wird
(gdb) py
>import sys
>print(sys.executable)
>end
/usr/bin/python
(gdb)
Dann in der bash, ich check den Dolmetscher:
12:34]hostname ~ $ls -l /usr/bin/python
lrwxrwxrwx 1 root root 9 Dec 21 2013 /usr/bin/python -> python2.7
So, obwohl gdb sagt, dass es mit meinem 2.7-interpreter, es ist tatsächlich eine andere. Ich brauche ein 2.7-interpreter in der Lage sein, um es mit der python-spezifischen Erweiterungen, die das ubuntu-Paket " python2.7-dbg " sieht, denn soweit ich weiß, gibt es kein solches Paket für python 3.4 ist noch, und selbst wenn es war, die Programme, die ich Debuggen möchten, führen Sie python 2.7
Meine Frage ist, wie mache ich es mit der Dolmetscherin, die ich will?
[BEARBEITEN]
Nicht deinstallieren Python ist3 btw. Ich habe es auf ubuntu 14.04 und es ruiniert mein system. Konnte nicht verwalten, um es wieder auf. Ich bin derzeit mit keinen Fenster-manager (es ist cool und 1337), aber Sie bekommen die Idee.
- warum ist python 3 standardmäßig?
- ich denke, da Ubuntu so sagt..? ich habe nicht viel gelesen in ihn, aber wiki.ubuntu.com/Python/3 dies sagt eine Menge Skripte wurden Portierung auf python 3 (wenn auch nicht alle). In jedem Fall ist mein gdb installieren (oder kompilieren oder was auch immer), gepaart mit Python ist3
- Verwandte Frage: bugs.launchpad.net/ubuntu/+source/gdb/+bug/1241668
Du musst angemeldet sein, um einen Kommentar abzugeben.
GDB nicht sagen. Es sagt, dass es mit 3.4.0, und, dass der interpreter ist verbunden, die in GDB, in form von
libpython3.4.a
oderlibpython3.4.so
.Da es keine tatsächliche Python-binary eingebunden, der (kleine) Fehler ist hier, dass
sys.executable
zurück/usr/bin/python
. Wäre es vielleicht besser für Sie, um zurückzukehren/usr/bin/gdb
statt.In diesem Fall, müssen Sie neu erstellen
gdb
von der Quelle, nach dem konfigurieren es mit den entsprechenden--with-python
Wert.ldd $(which gdb) | grep python
print(sys.version)
) arbeitet immer.python import sys
dannpython print(sys.version)
, ich sehe das Python-interpreter v2, nicht v3.