如何更改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

回到顶部