python:pdb的调试、编码规范

来源:互联网 发布:onvif java类库 编辑:程序博客网 时间:2024/06/04 21:47

1 首先cmd跳到指定目录

 E:(回车)

cd langugage\sublime\python

2 python -m pdb test.py  (-m 表示调试模块,test.py为调试的模块名)

3 l  (list)显示当前代码

  n (next)向下执行一行代码(加入遇到函数调用,不会调到函数里面执行,而是当成一行正常的代码执行完毕)

  c continue,向下执行代码(与没有用pdb执行效果一样),直接执行完毕

  b 6 (break)打断点,在第6行打断点;设置断点后,直接c,运行到断点处。

 clear 1  删除第一个断点,后面跟的是断点的序列号

 s  step跳到函数内部执行:当函数运行到函数调用那行时,s+enter,跳入到函数内部执行

 p  (print)变量名:打印变量的值

 a (args)打印形参的值

 r (return)快速执行到函数的最后一行 (并不一定是程序的最后一行,若在调用的函数内部,则执行到函数最后一行)

 q 退出调试


动手调试一下

#pdb对python的调试import pdbdef add3Nums(a1,a2,a3):result=a1+a2+a3return resultdef get3NumsAvarage(s1,s2):s3=s1+s2+s1result=0result=add3Nums(s1,s2,s3)/3return result #之前没有这句话,没有返回值,final=Noneif __name__=='__main__':a=11b=12final=get3NumsAvarage(a,b)print(final)

交互式调试

import

pdb.run('test(args)')  #调试写好的test模块(args)为需要的参数

程序中埋点

在程序中设置好,运行到那一步就进入调试模式:

import pdbif __name__=='__main__':a=11b=12pdb.set_trace()#程序运行到这里进入调试模式final=get3NumsAvarage(a,b)print(final)

函数与函数之间用一个空行,函数与类之间用两个空行。

pep8规范