设为首页 加入收藏

TOP

手工编译GDB调试Python程序
2017-11-02 06:07:01 】 浏览:143
Tags:手工 编译 GDB 调试 Python 程序

GDB在7.0版本之后,加入了调试python程序的支持(https://docs.python.org/devguide/gdb.html)。通常情况下,按照http://blog.csdn.net/liangzhao_jay/article/details/47807183中的步骤就可以快速配置好python的GDB调试环境。

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

步骤如下:

  1. apt-get install python3.5-dbg
  2. 下载GDB wget http://ftp.gnu.org/gnu/gdb/gdb-7.11.1.tar.gz
  3. 解压后进入目录 tar zxf gdb-7.11.1.tar.gz && cd gdb-7.11.1
  4. 执行./configure --with-python,可能报makeinfo错误,执行apt-get install textinfo后就OK了
  5. make && make install,这样gdb就被安装到/usr/local/bin目录下了
  6. 拷贝如下代码到test.py
import time

time.sleep(10000)

  7. 执行python3 test.py &

  8. gdb python3 <pid of test.py>  

  9. 输入py-bt就可以看到python调用栈了。如果此时不能看到python调用栈,执行which python3,此时的python3应该不在/usr/bin目录下。进入/usr/local/share/gdb/auto-load/usr目录,在该目录下创建local/bin(mkdir -p local/bin),然后将bin目录下的文件拷贝到local/bin下(cp bin/* local/bin/)

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Python安装Numpy和matplotlib 下一篇三次用户登录

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目