当通过ipdb.set_trace()调用时,ipython ipdb在调试时不记得命令历史记录

Ste*_* Lu 14 python ipython ipdb

如果我ipython正常运行,iPython会记住命令历史记录,例如在repl中测试基本内容,但是我希望能够从上一个调试会话中获取调试命令,而我只是通过运行来调试我的程序正常,程序包含

import ipdb
def info(type, value, info):
    import traceback
    traceback.print_exception(type, value, info)
    ipdb.pm()

import sys
sys.excepthook = info
trace = ipdb.set_trace
Run Code Online (Sandbox Code Playgroud)

这是设置它所以我可以trace()在我的程序中的任何地方编写,以便在我运行程序时开始调试,或者当它自己死时自动启动事后调试.

当涉及到快速代码/测试迭代时,使用iPython的Python已经超越了其他语言,而我现在已经非常接近于必杀技......

Bek*_*eka 3

我用pudb代替。它可以从调试器访问真正的 ipython shell,并且保存所有命令