1.使用IDLE调试程序
1说明:使用Python标准开发环境IDLE的调式器Debugger;
2.步骤如下:
①运行IDLE:进入主界面
②如下图找到Debugger点击运行即可:
3.调试方法:打开IDLE然后打开Debug下的Debugger即可,然后在IDLE窗口运行需要调试的程序(如下图所示);
2.使用pdb调试程序
1)使用pdb调试Python程序的三种方法:
①第一种:在交互模式下调试特定块。使用pdb提供的功能可以直接调试语句块、表达式、函数等多种脚本:
#调试案例
import pdb
def f1():
x=5
print(x)
pdb.runcall(f1)
>>> pdb.runcall(f1)
> (2)f1()
(Pdb) 3
3
(Pdb) p x
*** NameError: name 'x' is not defined
(Pdb) 5
5
(Pdb) n
25
--Return--
> (2)f1()->None
(Pdb) 1
1
(Pdb) 5
5
(Pdb) return
②第二种:在程序中插入断点。导入pdb模块,然后通过set_trace()函数在需要的位置设置断点。如果程序通过这种方法显示插入断点,那么命令提示符环境下执行该程序或双击程序时将自动打开pdb调试环境:
import pdb
n=5
pdb.set_trace()
for i in range(2,n):
if n%i==0:
print('No')
break
else:
print('Yes')
(Pdb) p i
3
(Pdb) l
119 #导入pdb模块,然后通过set_trace()函数在需要的位置设置断点,
120 # 如果程序通过这种方法显示插入断点,那么命令提示符环境下执行该程序或双击程序时将自动打开pdb调试环境
121 import pdb
122 n=5
123 pdb.set_trace()
124 ->for i in range(2,n):
125 if n%i==0:
126 print('No')
127 break
128 else:
129 print('Yes')
(Pdb)
③第三种:把pdb作为模块来调试程序。在命令行提示符执行”pdb -m pdb 脚本文件名”,则直接进入调试程序,当调试结束或程序正常结束后,pdb重启该程序;把上述程序中的pdb模块的导入和断点插入函数都删除,然后在命令提示符环境中使用调试模式运行:
>>> python -m pdb 1.py
2)常用pdb调试命令:
①显示当前函数参数: