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

通过ipdb.set_trace()调用ipython ipdb时,调试时不记得命令历史记录,python,ipython,ipdb,Python,Ipython,Ipdb,如果我正常运行iPython,例如在repl中测试基本内容,iPython确实会记住命令历史记录,但我希望能够从上一次调试会话中调出调试命令,我只需正常运行程序即可进行调试,程序中包含 import ipdb def info(type, value, info): import traceback traceback.print_exception(type, value, info) ipdb.pm() import sys sys.excepthook = inf

如果我正常运行
iPython
,例如在repl中测试基本内容,iPython确实会记住命令历史记录,但我希望能够从上一次调试会话中调出调试命令,我只需正常运行程序即可进行调试,程序中包含

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已经超越了其他语言,我现在离nirvana太近了

我改用。它允许从调试器获得一个真正的ipython shell,所有的命令都保存了下来

我想我在SQLite的某些地方看到了一些东西。也许一旦我安装了它,它就会开始工作了?看起来你已经击中了ipython.dam中的一个或一个相关的。3个月了,我甚至记不起这个问题是否已经解决了,我并没有在我的一个python脚本中使用它。我觉得如果没有配置SQLite,ipython将什么都记不起来,如果它在某些时候确实记得东西,这将表明这是一个bug。我以后还要进一步调查这件事;我的kickstart脚本已经自动设置为
pip安装
ipython和sqlite(以及readline)@谢谢链接,面包屑对你很好have@StevenLu你有办法解决这个问题吗?@Phani不,我再也没有调查过这个问题了
pudb
看起来很有趣,如果我再回到Python的话,我可能会转而使用它:)