..
python ipdb的使用
基本命令
ipdb> ll
list
打印当前附近的源码;ipdb> c
continue
继续执行,直到遇到断点或者退出;ipdb> s
- step, 单步调试,遇到函数调用会进入函数内部;
ipdb> n
- next, 也是单步调试,不过遇到函数调用会当成一步跳过;
ipdb> r
- return, 继续执行直到本次函数调用的
return
部分; ipdb> w
- where, 打印出调用栈;
ipdb> h
- help, 打印全部命令。如果加上参数,会打印对应命令的帮助信息;
根据变量条件动态断点
见 pdb/ipdb for python break on editable condition 的回答。
比如:
ipdb> b 99, key == 'order'
其含义就是:在第 99 行设置一个断点,当变量 key
的值等于 ‘order’ 时触发。
运行 pytest 的时候能进入断点
加上 -s
参数,如:
> pytest -s test_abc.py