【发布时间】:2014-10-07 19:44:21
【问题描述】:
我使用的是 ubuntu 14.04,其中 python3 是默认系统包。
我想用gdb调试Python2.7程序,但是我好像遇到了这个问题:
当我在 gdb 中时,使用 py 命令会将我置于解释器中,因此我在解释器中运行了这些命令:
首先我检查解释器版本:
(gdb) py
>import sys
>print(sys.version)
>end
3.4.0 (default, Apr 11 2014, 13:08:40)
[GCC 4.8.2]
然后我检查正在使用的解释器可执行文件
(gdb) py
>import sys
>print(sys.executable)
>end
/usr/bin/python
(gdb)
然后在 bash 中,我检查解释器:
12:34]hostname ~ $ls -l /usr/bin/python
lrwxrwxrwx 1 root root 9 Dec 21 2013 /usr/bin/python -> python2.7
虽然 gdb 说它使用的是我的 2.7 解释器,但实际上它使用的是另一个解释器。我需要一个 2.7 解释器才能将它与 ubuntu 包“python2.7-dbg”提供的 python 特定扩展一起使用,因为据我所知,python 3.4 还没有这样的包,即使有,我要调试的程序运行 python 2.7
我的问题是如何让它使用我想要的解释器?
[编辑] 不要卸载 python3 顺便说一句。我在 ubuntu 14.04 上完成了它,它破坏了我的系统。没能重新站起来。我目前正在使用它,没有窗口管理器(它很酷,1337),但你明白了。
【问题讨论】:
-
为什么python 3是默认的?
-
我猜是因为 Ubuntu 这么说的..?我没有阅读太多内容,但wiki.ubuntu.com/Python/3 这表示很多脚本已移植到 python 3(尽管不是全部)。无论如何,我的 gdb 安装(或编译或其他)加上 python3
标签: python python-2.7 gdb