【发布时间】:2014-11-07 22:09:53
【问题描述】:
这个问题之前有asked,但是我找不到好的答案。所以,我想再问一次。
我希望我的 ipdb 能够记住跨会话的命令。现在,它可以提取在 Ipython 会话中执行的命令,但不能从旧的 ipdb 会话中提取。如果我能拥有这个功能,那将是一个巨大的节省时间。
有没有人能解决这个问题?
【问题讨论】:
这个问题之前有asked,但是我找不到好的答案。所以,我想再问一次。
我希望我的 ipdb 能够记住跨会话的命令。现在,它可以提取在 Ipython 会话中执行的命令,但不能从旧的 ipdb 会话中提取。如果我能拥有这个功能,那将是一个巨大的节省时间。
有没有人能解决这个问题?
【问题讨论】:
如果您愿意使用其他调试器,trepan 确实可以跨会话保存历史记录。
【讨论】:
~/.pdbrc 文件中导入带有execfile(...) 的文件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找到这个代码和更多补丁
【讨论】: