- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章使用PDB简单调试Python程序简明指南由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
在 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 。
运行上面的命令后进入以下界面,可以输入类似 gdb 的命令来改变程序的执行流程:
list 显示程序的最近代码段:
next 或者 n 执行下一行代码:
用 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] 。
如果想在函数处设置断点:
(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] 。
还可以给断点加条件,比如设置条件只有当 sum > 50 的时候才 break:
如果想查看某个变量的值,可以用 pp 命令打印出来:
可以直接在程序里使用 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() 。
这样只要运行程序 ./d.py 就可以直接运行到 print sum 处:
总结 。
。
最后此篇关于使用PDB简单调试Python程序简明指南的文章就讲到这里了,如果你想了解更多关于使用PDB简单调试Python程序简明指南的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
网格布局是由一系列水平及垂直的线构成的一种布局模式,使用网格,我们能够将设计元素进行排列,帮助我们设计一系列具有固定位置以及宽度的元素的页面,使我们的网站页面更加统一。 一个网格通常具有许多的
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 8 年前。
我有大量字符串要转换为整数。在 Python 3.7 中执行列表字典查找的最简洁方法是什么? 例如: d = {'frog':1, 'dog':2, 'mouse':3} x = ['frog', '
我是一名优秀的程序员,十分优秀!