Python调试

标签: python 调试 | 发表时间:2015-04-14 02:02 | 作者:矮蛋蛋
出处:http://www.iteye.com
原文地址: http://blog.csdn.net/xuyuefei1988/article/details/19399137
1、下面网上收罗的资料初学者应该够用了,但对比IBM的Python 代码调试技巧:

IBM:包括 pdb 模块、利用 PyDev 和 Eclipse 集成进行调试、PyCharm 以及 Debug 日志进行调试:

http://www.ibm.com/developerworks/cn/linux/l-cn-pythondebugger/


2、另一份来自百度文库的《python日志输出----logging浅析与使用》比较全面,也受益匪浅,自己刚开始学手头没东西做,希望自己接下来能用上:

http://wenku.baidu.com/view/f351e70390c69ec3d5bb75f7.html

http://wenku.baidu.com/view/682b5b81bceb19e8b9f6ba00.html


3、使用gdb调试python脚本

http://hi.baidu.com/kanif/item/b6314f892fe9de58840fab94



网上搜集的:
一、Shell下
首先你选择运行的 py

python -m pdb myscript.py
(Pdb) 会自动停在第一行,等待调试,这时你可以看看 帮助
(Pdb) h
二、Python 2.7(IDLE)

#!/usr/bin/python
_DEBUG=True   #easier to debug
def debug_demo(val):
    if _DEBUG==True:
        import pdb
        pdb.set_trace()

        ....

其实也就两句话:       
import pdb
pdb.set_trace()
具体语法如下(其实和我以前学的在shell下调试是一样的)
>断点设置 
   (Pdb)b  10 #断点设置在本py的第10行
   或(Pdb)b  ots.py:20 #断点设置到 ots.py第20行
   删除断点(Pdb)b #查看断点编号
            (Pdb)cl 2 #删除第2个断点

>运行

    (Pdb)n #单步运行
    (Pdb)s #细点运行 也就是会下到,方法
    (Pdb)c #跳到下个断点

   (Pdb)r #运行到返回前,可以看到程序返回结果
>查看
    (Pdb)p param #查看当前 变量值
    (Pdb)l #查看运行到某处代码
    (Pdb)a #查看全部栈内变量
>帮助

(Pdb) h       可以看到所有的指令
(Pdb) h c     具体查看指令c的帮助
c(ont(inue))
Continue execution, only stop when a breakpoint is encountered
>如果是在 命令行里的调试为:
import pdb
def tt():
    pdb.set_trace()
    for i in range(1, 5):
        print i
>>> tt()
> <stdin>(3)tt()
(Pdb) n
以上转自:http://www.blogjava.net/Skynet/archive/2009/04/07/264259.html
配了代码,可能有助于第一次看:http://blog.csdn.net/magicbreaker/article/details/3754733

已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [python 调试] 推荐:

Python调试

- - 企业架构 - ITeye博客
原文地址: http://blog.csdn.net/xuyuefei1988/article/details/19399137. 1、下面网上收罗的资料初学者应该够用了,但对比IBM的Python 代码调试技巧:. IBM:包括 pdb 模块、利用 PyDev 和 Eclipse 集成进行调试、PyCharm 以及 Debug 日志进行调试:.

python代码调试

- - 阿里古古
【转自: http://blog.csdn.net/luckeryin/article/details/4477233】. 本文讨论在没有方便的IDE工具可用的情况下,使用pdb调试python程序. 例如,有模拟税收计算的程序:. debug_demo函数计算4500的入账所需的税收. 在需要插入断点的地方,加入红色部分代码:如果_DEBUG值为True,则在该处开始调试(加入_DEBUG的原因是为了方便打开/关闭调试).

使用 gdb 调试 Python 进程

- yinseny - python.cn(jobs, news)
有时我们会想调试一个正在运行的Python进程,或者一个Python进程的coredump. 例如现在遇到一个mod_wsgi的进程僵死了,不接受请求,想看看究竟是运行到哪行Python代码呢. 这时就需要祭出gdb这个神器了. 确认你的gdb版本是>=7,gdb从版本7开始支持对Python的debug.

我常用的Python调试工具(二)

- - 博客 - 伯乐在线
这是对 上一篇关于调试器的文章的一个小小的补充. 标准库有三种分析方法( cProfile和profile, hotshot)以及不计其数的第三方可视化工具,转化器,以及诸如此类的东西. 工具多了,不靠谱的建议自然少不了. 如果你不知道该用什么,那就用一个可视化的工具吧. 有很多的建议供你选择自己要用的可视化工具,但无论是使用如标准库的Stats模块这种文本形式的还是像 pycallgraph或者 gprof2dot这样的图形化的库,第一反应都是要写代码来生成报表.

dropbox讲python

- chuang - Initiative
dropbox定制优化CPython虚拟机,自己搞了个malloc调度算法. 那个 !!!111cos(0). 期待这次PyCon China 2011.

Python实现逻辑回归(Logistic Regression in Python)

- - 神刀安全网
Logistic Regression in Python ,作了中文翻译,并相应补充了一些内容. 本文并不研究逻辑回归具体算法实现,而是使用了一些算法库,旨在帮助需要用Python来做逻辑回归的训练和预测的读者快速上手. 逻辑回归是一项可用于预测二分类结果(binary outcome)的统计技术,广泛应用于金融、医学、犯罪学和其他社会科学中.

python 下载文件

- Eric - python相关的python 教程和python 下载你可以在老王python里寻觅
之前给大家分享的python 多线程抓取网页,我觉的大家看了以后,应该会对python 抓取网页有个很好的认识,不过这个只能用python 来抓取到网页的源代码,如果你想用做python 下载文件的话,上面的可能就不适合你了,最近我在用python 做文件下载的时候就遇到这个问题了,不过最终得以解决,为了让大家以后碰过这个问题有更好的解决办法,我把代码发出来:.

python编程规范

- - 互联网 - ITeye博客
@FileName: @Author:xx@ic.net.cn @Create date: @description:用一行文字概述模块或脚本,用句号结尾. 不影响编码的效率,不与大众习惯冲突.. 使代码的逻辑更清晰,更易于理解..   *所有的 Python 脚本文件都应在文件头标上如下标识或其兼容格式的标识.

《Dive into Python 3》中文版

- hama - Wow! Ubuntu
Dive Into Python 是一份很知名的 Python 入门教程,由 Mark Pilgrim 编写,用户可以免费获取电子版本,而中文版则由啄木鸟社区翻译发布 [ 英文版 / 中文版 ]. 前阵子,Mark Pilgrim 又发布了 《Dive into Python 3》,此版本的内容涵盖了 Python 3 及其与 Python 2 的区别.

分享一套 python 试题

- eastxing - 赖勇浩的编程私伙局
赖勇浩(http://laiyonghao.com). 今天在 simple-is-better.com 看到一篇《Python 面试题集合》(http://simple-is-better.com/news/596),里面有一些很好的试题,如“Python是如何进行类型转换的. ”,也有一些让人吐血的试题,如“Python如何实现单例模式.