在遇到多核心执行的时候,在pycharm中有可能会出现执行错误的情况,此时使用ipdb的方式进行debug可能比较好
pip install ipdb -i https://pypi.tuna.tsinghua.edu.cn/simple
在需要的地方直接插入“ipdb.set_trace()”,那么代码运行的时候(python 111.py或者直接run)就会在那个地方停住
- import ipdb
- # some code
- x = 10
- ipdb.set_trace()
- y = 20
- # other code
- for i in range(1,10):
- print(i+1)
上面的方式虽然简单,但是存在着两个较为比较明显的问题:
插入的断点代码会污染原来的代码空间
每次插入断点都需要修改源码
因此,相比于上面的方式,交互式的命令式调试方法更加方便。启动命令式调试环境的方法也很简单:
python -m ipdb AA.py
s(step) 会进入这个函数
n(next) / 直接回车 直接进入下一行
j (line_number ) 直接跳到第N行
r(return)则可以直接执行至 return 语句
p(print) 打印某个变量值
a(args) 列出传入函数所有的参数值
l 当前在哪个位置
q (quit) 退出