参考链接
- https://blog.csdn.net/cainiao_python/article/details/113010098
- https://blog.csdn.net/weixin_39855634/article/details/113668761
1). 断点条件调试
有这样一个场景,代码 DeBug 的时候,我想知道下面代码 index 为 10 时, date_1的值是什么,正常来说要 代码 DeBug 循环 10 次,很不方便。
在 IDE 中有个条件断点,只需设置好变量条件,只有当某个变量等于你设置的条件的值时,断点就会自动停下。首先右击第 24 行的断点,给 Conditon 设置变量条件 index == 10,并点击 Done 保存设置。
当 index 的值为 10 时,DeBug 就会自动停下,效果如下图:
2). 计算表达式
当我们 Debug 某个方法时,有时候会忘了传入某个参数或者传错了
,这个时候又不想重新Debug
,
就可以通过计算表达式来设置某个变量的值,如下图,发现 day_int = 367 不是期望的值,可以鼠标右击下面蓝色的 day_int , 选择 Set Value
, 对 day_int 临时修改值
下面的代码程序会根据重新赋的值向下运行,可以看到变量 num_30 的值是 200 整除 30 的结果。
3)调试神器 pdb
- 准备文件
- 在调试之前先将这两个文件准备好(做为演示用),并放在同级目录中。
- utils.py
def sum(mylist):
result = 0
for item in mylist:
result += item
return result
- pdb_demo.py
import utils
def myfunc(mylist):
result = utils.sum(mylist)
print(result)
if __name__ == '__main__':
print("----start----")
myfunc([1,2,3,4])
print("----end-----")
输出:
----start----
10
----end----
- 进入调试模式 (主要有两种方法)
做为脚本调用,方法很简单,就像正常执行python脚本一样,只是多加了-m pdb
ptyhon -m pdb pdb_demo.py