python断点调试编译器_手工编译GDB调试Python程序

但是如果机器上的Python环境不是使用包管理工具自动安装的,或者包管理工具安装的GDB版本太老或没有python调试的支持,那么,就不得不手工编译GDB了。我在Ubuntu 15.10上编译GDB时遇到了一些坑,记下来备查。

步骤如下:

apt-get -y install texinfo python3.5-dbg

下载GDB wget http://ftp.gnu.org/gnu/gdb/gdb-7.11.1.tar.gz

解压后进入目录 tar zxf gdb-7.11.1.tar.gz && cd gdb-7.11.1

执行./configure --with-python

make && make install,这样gdb就被安装到/usr/local/bin目录下了

拷贝如下代码到test.py

importtime

time.sleep(10000)

7. 执行python3 test.py &

8. gdb python3

9. 输入py-bt就可以看到python调用栈了。如果此时不能看到python调用栈,执行如下脚本

#!/bin/bash

cp -r /usr/lib/debug /usr/local/lib/

mkdir -p /usr/local/lib/debug/usr/local/bin

cp /usr/local/lib/debug/usr/bin/* /usr/local/lib/debug/usr/local/bin

以下为完整的安装脚本:

#!/bin/bash

apt-get update

apt-get -y install texinfo python3.5-dbg

wget http://ftp.gnu.org/gnu/gdb/gdb-7.11.1.tar.gz

tar zxf gdb-7.11.1.tar.gz

cd gdb-7.11.1

./configure --with-python

make && make install

cp -r /usr/lib/debug /usr/local/lib/

mkdir -p /usr/local/lib/debug/usr/local/bin

cp /usr/local/lib/debug/usr/bin/* /usr/local/lib/debug/usr/local/bin

rm -rf gdb-7.11.1

rm gdb-7.11.1.tar.gz

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值