目录
- jupyter notebook中使用
- b是动态设置断点。
- args是打印函数参数
- w是函数调用栈
- Python pdb调试
- 动态断点
- 其他有用的
jupyter notebook中使用
link
pdb的使用方式一样,在需要的地方插入import pdb; pdb.set_trace()
即可:
ipdb在import引入后,添加set_trace()
即可:
from IPython.core.debugger import set_trace
def test_breakpoint_with_ipdb():
a = 1
set_trace()
b = 2
c = 3
final = a + b + c
return final
test_breakpoint_with_ipdb()
b是动态设置断点。
单写b,是查看所有断点的状态。
clear 5 (5是断点标号)
删除断点后,就可以执行r返回了。
args是打印函数参数
w是函数调用栈
Python pdb调试
在需要断点调试的地方,加上:import pdb;pdb.set_trace()
n:[next] 让程序运行下一行,如果当前语句有一个函数调用,用’n’是不会进入被调用的函数体中的
c:[continue] 让程序正常运行,直到遇到断点
j:让程序跳转到指定的行数
l:列出当前将要运行的代码块
s:与n类似,但如果当前有一个函数调用,那么s会进入被调用的函数体中
a:打印当前函数的参数
p:打印某个变量(例如:p _new)
q:退出调试
h:打印当前版本pdb可用的命令,如果需要查询某个命令,可以输入 h [command]
Pdb aistudio
动态断点
去年刚接触pdb调试时,只会在当前运行的py文件中设置断点,就是运行程序后,b 192 在当前程序的第192行设置一个断点。但是往往同一个项目下会被调用的其他py文件,比如 同目录的config.py文件中想中断一下查看个变量什么的就不知如何操作。b 查看所有断点
cl 1 删除第一个断点
前段时间才明白是可以 用 b config.py:192 来设置同项目下其他程序中的断点的,这样就可以方便地在程序运行的任意处中断来查看变量。
其他有用的
s(tep) 进入函数体中执行
r(eturn)运行完函数体
q 退出
l,j
a 函数传入的所有参数