• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > 使用PDB简单调试Python程序简明指南

使用PDB简单调试Python程序简明指南

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了python pdb,python pdb调试,python pdb模块,pdb数据库使用指南,pdb私有程序化购买等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

在 Python 中也可以像 gcc/gdb 那样调试程序,只要在运行 Python 程序时引入 pdb 模块(假设要调试的程序名为 d.py):
$ vi d.py
#!/usr/bin/python

def main():
        i, sum = 1, 0
        for i in xrange(100):
                sum = sum + i
        print sum

if __name__ == '__main__':
        main()

$ python -m pdb d.py
</div>
运行上面的命令后进入以下界面,可以输入类似 gdb 的命令来改变程序的执行流程:
$ python -m pdb 1.py
> d.py(3)()
-> def main():
(Pdb)
</div>
list 显示程序的最近代码段:
(Pdb) list
  1   #!/usr/bin/python
  2   
  3  -> def main():
  4    i, sum = 1, 0
  5    for i in xrange(100):
  6     sum = sum + i
  7    print sum
  8   
  9   if __name__ == '__main__':
 10    main()
[EOF]
</div>
next 或者 n 执行下一行代码:
(Pdb) next
> d.py(9)()
-> if __name__ == '__main__':
</div>
用 break 在第6行设置一个断点:
(Pdb) break d.py:6
Breakpoint 1 at d.py:6

(Pdb) list
  1   #!/usr/bin/python
  2   
  3   def main():
  4    i, sum = 1, 0
  5  ->  for i in xrange(100):
  6 B   sum = sum + i
  7    print sum
  8   
  9   if __name__ == '__main__':
 10    main()
[EOF]
</div>
如果想在函数处设置断点:
(Pdb) break d.main
d.py:3

(Pdb) list
  1   #!/usr/bin/python
  2   
  3 B def main():
  4  ->  i, sum = 1, 0
  5    for i in xrange(100):
  6     sum = sum + i
  7    print sum
  8   
  9   if __name__ == '__main__':
 10    main()
[EOF]
</div>
还可以给断点加条件,比如设置条件只有当 sum > 50 的时候才 break:
(Pdb) break d.py:6, sum > 50
Breakpoint 1 at d.py:6
</div>
如果想查看某个变量的值,可以用 pp 命令打印出来:
(Pdb) step
> d.py(5)main()
-> for i in xrange(100):
(Pdb) pp sum
0
</div>
可以直接在程序里使用 pdb 模块,import pdb 后 pdb.set_trace():
#!/usr/bin/python
import pdb

def main():
        i, sum = 1, 0
        for i in xrange(100):
                sum = sum + i
        pdb.set_trace()
        print sum

if __name__ == '__main__':
        main()
</div>
这样只要运行程序 ./d.py 就可以直接运行到 print sum 处:
$ ./d.py
> d.py(9)main()
-> print sum
(Pdb)
</div>
总结

</div>

您可能想查找下面的文章:

  • 总结用Pdb库调试Python的方式及常用的命令
  • 总结用Pdb库调试Python的方式及常用的命令
  • 使用pdb模块调试Python程序实例
  • 使用PDB简单调试Python程序简明指南
  • 使用PDB简单调试Python程序简明指南
  • Python中使用PDB库调试程序
  • 使用PDB模式调试Python程序介绍
  • 使用Python中PDB模块中的命令来调试Python代码的教程
  • python pdb调试方法分享

相关文章

  • Python编程中运用闭包时所需要注意的一些地方
  • Python通过解析网页实现看报程序的方法
  • Python写的Socks5协议代理服务器
  • python里将list中元素依次向前移动一位
  • python服务器与android客户端socket通信实例
  • 详解Python中的array数组模块相关使用
  • 在Django中创建动态视图的教程
  • Python中返回字典键的值的values()方法使用
  • Python文本相似性计算之编辑距离详解
  • Python多线程学习资料

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Mac下Supervisor进程监控管理工具的安装与配置
    • python计算圆周率pi的方法
    • Python中使用gzip模块压缩文件的简单教程
    • Django自定义分页与bootstrap分页结合
    • Python实现模拟时钟代码推荐
    • Python实现给文件添加内容及得到文件信息的方法
    • python Django批量导入数据
    • django自定义Field实现一个字段存储以逗号分隔的字符串
    • python目录与文件名操作例子
    • 利用打码兔和超人打码自封装的打码类分享

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有