方便地在Python调试器(pdb)中执行多行语句
在 pdb
提示符下运行 !import code; code.interact(local=vars())
可以让你在调试器里输入多行代码,比如定义一个类。这段代码的作用是让你在调试时能更方便地输入复杂的代码块。有没有办法让每次都不用复制粘贴或者手动输入这一整行代码呢?
我在想用 vim
的 Conque
插件,设置一个类似 :noremap ,d i!import code; code.interact(local=vars())<Esc>
的快捷键,但在插入模式之外编辑的内容似乎对提示符没有任何影响。
1 个回答
6
PDB在启动时会读取一个叫做.pdbrc
的文件。根据Python文档的说明:
如果在用户的主目录或者当前目录下存在一个名为.pdbrc的文件,PDB会把这个文件的内容读取并执行,就好像你在调试器的提示符下直接输入了一样。这对于设置别名特别有用。如果这两个文件都存在,PDB会优先读取主目录下的文件,而在本地文件中定义的别名可以覆盖主目录中的定义。
所以你可以试着创建这个文件,并把相关的命令直接放进去。