方法一:
当你在有问题的代码前加上这段代码,它就可以帮助你在异常时进入ipdb调试模式。前提是你要安装ipython。
import sys
from IPython.core import ultratb
sys.excepthook = ultratb.FormattedTB(mode='Verbose',
color_scheme='Linux', call_pdb=1)
你也可以把上面的代码保存成crash_debug.py,然后在你出问题的文件test.py头上加上
import crash_debug
for i in range(10,-1,-1):
y=1/i
1、安装
pip install ipdb
2、使用
python -m ipdb xxx.py
程序内部:
from ipdb import set_trace
set_trace()
3、常用命令
ENTER
(重复上次命令)c
(继续)l
(查找当前位于哪里)s
(进入子程序)r
(运行直到子程序结束)!<python 命令>
h
(帮助)- a(rgs) 打印当前函数的参数
- j(ump) 让程序跳转到指定的行数
- l(ist) 可以列出当前将要运行的代码块
- n(ext) 让程序运行下一行,如果当前语句有一个函数调用,用 n 是不会进入被调用的函数体中的
- p(rint) 最有用的命令之一,打印某个变量
- q(uit) 退出调试
- r(eturn) 继续执行,直到函数体返回
- s(tep) 跟 n 相似,但是如果当前有一个函数调用,那么 s 会进入被调用的函数体中