Python 跨ipdb会话的历史记录
这个问题以前提过,但我找不到好的答案。所以,我想再问一次 我希望我的ipdb能够跨会话记住命令。现在,它可以调出在Ipython会话中执行的命令,但不能调出旧ipdb会话中执行的命令。如果我有这个功能的话,这将大大节省时间Python 跨ipdb会话的历史记录,python,ipython,ipdb,Python,Ipython,Ipdb,这个问题以前提过,但我找不到好的答案。所以,我想再问一次 我希望我的ipdb能够跨会话记住命令。现在,它可以调出在Ipython会话中执行的命令,但不能调出旧ipdb会话中执行的命令。如果我有这个功能的话,这将大大节省时间 有人能解决这个问题吗?如果您想使用另一个调试器,has会跨会话保存历史记录 我遇到了与您相同的问题,因此我关闭了该项目,并为持久历史添加了一个补丁。您可以使用pip安装ipdb的分叉版本: pip install git+https://github.com/micheles
有人能解决这个问题吗?如果您想使用另一个调试器,has会跨会话保存历史记录 我遇到了与您相同的问题,因此我关闭了该项目,并为持久历史添加了一个补丁。您可以使用pip安装ipdb的分叉版本:
pip install git+https://github.com/michelesr/ipdb.git
只需确保您的IPython版本为5.0或更高。可在此中找到实施信息。- 创建一个包含以下内容的文件
- 使用
文件中的~/.pdbrc
导入该文件execfile(…)
PS您可以在中找到此代码和更多补丁,我经常通过
ipdb
获得这种分叉愿望。
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