gdb加载python_gdb 调试python进程

准备

首先得有gdb吧,这个就不细说了,debian系发行版上运行以下命令完成安装:

apt-get install gdb python2.7-dbg

其次,还需要装一个包——python-dbg。这个包有什么作用呢?前面不是抱怨过C堆栈对于调试一个Python有何用?我们更需要的是Python堆栈信息,python-dbg就是为了完成这个使命。

运行

全新启动一个Python程序并进行调试,可以采用交互式方式,先启动gdb然后在gdb shell中启动Python程序:

$ gdb python

...

(gdb) run .py

当然了,也可以一步到位,一条命令搞定这两步:

gdb -ex r --args python .py

遗憾的是,现实中往往是这样的情景——一个正在运行的程序突然异常了,你需要调试它!这时为之奈何?

有一种方法你可以给它发一个信号,出一个coredump文件,然后用gdb来调试coredump文件:

gdb

显然易见,这并不是一种很好的方式,那么有没有什么办法可以捕获进程并调试呢?你想得到的很有可能都有人实现了——

gdb python

gdb attach

这两种方式都可以让gdb捕获一个进程。因此,我们需要做的只是确定问题进程的pid,这个总该没有难度了吧——top、ps等等一系列命令都可以做到。

堆栈查看

查看C堆栈信息,用过gdb命令的估计都知道怎么做&#x

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值