python的调试技巧

1. print
这是最简单的调试方法,直接显示程序数据。即便是调试Java或者C这种巨麻烦的编译语言,print仍然是常用工具。当然,我们讲的是Python,是比Java和C要方便100倍的动态解释语言,因此这个print就更有力了。

2.使用IDLE的调试器

在“Python Shell”窗口中单击“Debug”菜单中的“Debugger”菜单项,就可以启动IDLE的交互式调试器。这时,IDLE会打开“Debug Control”窗口,并在“Python Shell”窗口中输出“[DEBUG ON]”并后跟一个“>>>”提示符。这样,我们就能像平时那样使用这个“Python Shell”窗口了,只不过现在输入的任何命令都是允许在调试器下。我们可以在“Debug Control”窗口查看局部变量和全局变量等有关内容。如果要退出调试器的话,可以再次单击“Debug”菜单中的“Debugger”菜单项,IDLE会关闭“Debug Control”窗口,并在“Python Shell”窗口中输出“[DEBUG OFF]”。
Go:继续。Step,Over:单步执行。Step将进入到函数内部进行调试,Over是指不进入到函数内部进行调试,而是直接执行完这个函数。

例如:

import sys, os
def test(arg1, arg2):
    print "begin test..."
    fun1('1', '2')
    print arg1
    print arg2

def fun1(arg1, arg2):
    print arg1
    print arg2
   

调试

>>> 
[DEBUG ON]
>>> test(2,3)
begin test...
1
2
2
3
[DEBUG ON]

在打开调试器的情况下,也可设置断点调试。

3.pdb调试

pdb 是 python 自带的一个包,为 python 程序提供了一种交互的源代码调试功能,主要特性包括设置断点、单步调试、进入函数调试、查看当前代码、查看栈片段、动态改变变量的值等。pdb 提供了一些常用的调试命令。

命令 解释
break 或 b 设置断点 设置断点
continue 或 c 继续执行程序
list 或 l 查看当前行的代码段
step 或 s 进入函数
return 或 r 执行代码直到从当前函数返回
exit 或 q 中止并退出
next 或 n 执行下一行
pp 打印变量的值
help 帮助
http://www.ibm.com/developerworks/cn/linux/l-cn-pythondebugger/中有详细的介绍。

4.利用reload,exec,eval,python -i调试,具体用法见

http://bbs.chinaunix.net/thread-1257503-1-1.html

你可能感兴趣的:(python)