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

时间:2013-06-16 21:55:59

标签: 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

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

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

1 个答案:

答案 0 :(得分:3)

我改用pudb。它允许从调试器获取真正的ipython shell并保存所有命令