如何更改gdb使用的Python解释器?
我正在使用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
我的问题是如何使用所需的解释器?
btw。我是在ubuntu
14.04上完成的,它破坏了我的系统。无法设法重新启动它。我目前正在使用它而没有窗口管理器(很酷,是1337年),但是您明白了。
回答:
因此,尽管gdb说它正在使用我的2.7解释器
GDB没有这么说。它说它正在使用3.4.0,并且解释器以或形式 链接到 GDB 。libpython3.4.a``libpython3.4.so
由于不涉及实际的Python二进制文件,因此这里的(小)错误是sys.executable
return
/usr/bin/python
。最好改为返回它/usr/bin/gdb
。
我需要2.7口译员
在这种情况下,您必须gdb
在使用适当的--with-python
值对其进行配置后从源中进行重建。
以上是 如何更改gdb使用的Python解释器? 的全部内容, 来源链接: utcz.com/qa/405009.html