这个问题以前是asked,但我找不到一个好的答案。所以,我想再问一次。
我希望我的ipdb能够记住跨会话的命令。现在,它可以提取在Ipython会话中执行的命令,但不能从旧的ipdb会话中提取。如果我可以拥有此功能,那将节省大量时间。
有没有人能解决这个问题?
答案 0 :(得分:4)
我遇到了同样的问题,所以我forked项目并为持续历史添加补丁。您可以使用pip:
安装分叉版本的ipdbpip install git+https://github.com/michelesr/ipdb.git
确保您的IPython版本为5.0或更高版本。可在此article中找到实施信息。
答案 1 :(得分:1)
如果您希望使用其他调试器,trepan确实会在会话中保存历史记录。
答案 2 :(得分:0)
execfile(...)
文件中将~/.pdbrc
导入该文件def use_file_history():
import os
from IPython.terminal.debugger import TerminalPdb
from prompt_toolkit.history import FileHistory
cmdloop = TerminalPdb.cmdloop
def cmdloop_prime(self, intro=None):
fname = os.path.join(os.path.expanduser('~'), '.ipdb_history')
self._pt_app.buffer.history = FileHistory(fname)
self._pt_app.buffer.reset()
cmdloop(self, intro)
TerminalPdb.cmdloop = cmdloop_prime
use_file_history()
del use_file_history
PS-您可以在this gist with ipdb patches
中找到此代码以及更多补丁