vla*_*ean 25 python gdb python-2.7
我正在使用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]
Run Code Online (Sandbox Code Playgroud)
然后我检查正在使用的解释器可执行文件
(gdb) py
>import sys
>print(sys.executable)
>end
/usr/bin/python
(gdb)
Run Code Online (Sandbox Code Playgroud)
然后在bash中,我检查解释器:
12:34]hostname ~ $ls -l /usr/bin/python
lrwxrwxrwx 1 root root 9 Dec 21 2013 /usr/bin/python -> python2.7
Run Code Online (Sandbox Code Playgroud)
因此虽然gdb说它使用我的2.7解释器,但实际上它正在使用另一个.我需要一个2.7解释器才能将它与ubuntu包'python2.7-dbg'提供的python特定扩展一起使用,因为据我所知,目前还没有这样的python 3.4包,即使有,我想调试的程序运行python 2.7
我的问题是我如何使用我想要的翻译?
[编辑] 不要卸载python3顺便说一句.我是在ubuntu 14.04上做的,它破坏了我的系统.无法再设法让它恢复正常.我目前正在使用它没有窗口管理器(它很酷和1337),但你明白了.
Emp*_*ian 16
所以尽管gdb说它使用我的2.7解释器
GDB没有这么说.它说它使用3.4.0,并且该解释器以或的形式链接到 GDB .libpython3.4.alibpython3.4.so
由于没有涉及实际的Python二进制文件,这里的(次要)错误是sys.executable 返回/usr/bin/python.它可能会更好地返回/usr/bin/gdb.
我需要一个2.7解释器
在这种情况下,gdb在使用适当的--with-python值配置后,您必须从源重建.
| 归档时间: |
|
| 查看次数: |
11388 次 |
| 最近记录: |