运行python -m pdb test.py
(Pdb) 会自动停在第一行,等待调试,这时你可以看看帮助
(Pdb) h
几个关键命令
断点设置
(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)p param #查看当前 变量值 (Pdb)l #查看运行到某处代码 (Pdb)a #查看全部栈内变量
命令集合
命令 | 解释 |
---|---|
break 或 b | 设置断点 |
continue 或 c | 继续执行程序 |
list 或 l | 查看当前行的代码段 |
step 或 s | 进入函数 |
return 或 r | 执行代码直到从当前函数返回 |
exit 或 q | 中止并退出 |
next 或 n | 执行下一行 |
pp | 打印变量的值 |
help | 帮助 |
2 `if name == ‘main’
一个python的文件有两种使用的方法:
作用一,直接作为脚本执行。
作用二,import到其他的python脚本中被调用(模块重用)执行。
if name == ‘main‘: 的作用就是控制这两种情况执行代码的过程,在if name == ‘main‘: 下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行,而import到其他脚本中是不会被执行的。
简而言之就是:name 是当前模块名,当模块被直接运行时模块名为 main 。当模块被直接运行时,代码将被运行,当模块是被导入时,代码不被运行。