设为首页 收藏本站
查看: 675|回复: 0

[经验分享] 使用PDB调试python程序

[复制链接]

尚未签到

发表于 2015-4-22 02:23:21 | 显示全部楼层 |阅读模式
使用PDB调试python程序



摘要
  使用过C语言的程序员肯定对 GDB 不陌生, 它的单步调试等功能对于常常需要debug 的我们而言是非常重要的, 而作为动态语言的 python 它的动态性等对于单步调试 带来了一定的难度, 但是 python 的标准模块 PDB 则依照 GDB 较好地解决了 这个问题.本文就简单地介绍如何使用 PDB 进行单步调试.



Contents


  • 摘要
  • 什么是PDB
  • 使用PDB进行简单的调试
  • 结论
  • 后记
  • 参考资料



什么是PDB
  根据 PDB 在 python 文档中的定义, 它是一种为 python 程序提供一种 交互的源码调试功能的模块.主要的特点(feature)包括:


  • 条件断点
  • 源码行级的单步调试
  • 查看栈片断
  • 在任意的栈片断的环境下对任意的代码进行求值(类似于 GDB )
  • 代码列出
  • 其它



使用PDB进行简单的调试
  python 程序也可以实现类似于c/c++的单步调试功能,而 python 中的调试模块 PDB 类似于c中的 GDB (常用命令等),可以进行方便的调试。
  下面是一个例子(debug_demo.py):

#!/usr/bin/env python
_debug = True
def debug_demo(val):
if _debug:
import pdb
pdb.set_trace()           #引入相关的pdb模块
if val < 10:
print "less than 10"
elif val /home/tower/test/python/debug.py(9)debug_demo()
-> if val

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-59290-1-1.html 上篇帖子: python写的批量下载baidu mp3的程序 至少到09-9-18仍然可用 下篇帖子: python import的用法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表