首页 > 学院 > 开发设计 > 正文

一个牛X的Python调试方法

2019-11-14 16:59:17
字体:
来源:转载
供稿:网友

我是写python 万年的 PRint + type + # 的调试党。
最近在知乎上读到了Rui L的一个调试python的方法。
在介绍之前,请先自行脑补一个场景:

应该用过 ipython 吧?想象一下,抛出异常时自动把你带到 IPython Shell 是不是很开心?而且和普通的IPython不同,这个时候可以调用 p (print), up(up stack), down(down stack) 之类的命令。还能创建临时变量,执行任意函数。

事实上这是可以实现的, 而且很简单,不过你要先安装 IPython。然后把以下代码保存为crash_on_ipy.py

import sysclass ExceptionHook:    instance = None    def __call__(self, *args, **kwargs):        if self.instance is None:            from IPython.core import ultratb            self.instance = ultratb.FormattedTB(mode='Plain',                 color_scheme='linux', call_pdb=1)        return self.instance(*args, **kwargs)sys.excepthook = ExceptionHook()

然后在你的项目代码某个地方 import crash_on_ipy 就可以了。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表