gar*_*ryp 12 python emacs gud ipdb
我正在使用python.el如果我从菜单中选择'debugger'并输入'python -m pdb myfile.py',gud启动,并在拆分框架中我看到(Pdb)提示符在一个,我的python另一个代码在第一行有一个插入符号,表示它已准备就绪.例如,'n'步骤到下一行,插入符相应地移动.
如果我输入'python -m ipdb myfile.py',框架拆分,一个拆分标记为gud,但没有明显的ipdb控制台.换句话说,这种启动ipdb的方式似乎不起作用.如果我使用ipdb.set_trace()手动将断点插入到我的python代码中,Ipdb工作得很好,除了它不使用gud接口.这是故意的,以便ipdb的堆栈跟踪可以很好地工作吗?
如果是这样,那很好,但有没有办法从emacs启动ipdb而无需手动添加set_trace()命令?
这里的基本问题是gud正在寻找(Pdb)提示,而 ipdb没有提示这种方式.有三种方法可以解决这个问题:修复ipdb以(Pdb)提示提示,修复gud不需要查找(Pdb)或(我最喜欢的)在gud端或ipdb端使用其他东西.
修复gud的问题在于它相当陈旧,在我看来使用全局变量并没有使用除列表和缺陷单元之外的Emacs Lisp数据结构有点吱吱作响.完全重写gud称为realgud,它目前在MELPA和ELPA中.并且支持ipdb.
最后一个选项是使用其他东西,所以让我建议已经集成到realgud中的Python trepan调试器(但由于我认为这是一个死胡同而不是gud).虽然它提供的回溯与ipdb不完全相同,但它确实为它们和源代码着色.
最新版本的trepan3k回溯甚至可以根据需要显示您的位置.因此,如果您说过一个函数的两个调用,就像fib()它会区分哪个调用函数正在进行中.
| 归档时间: |
|
| 查看次数: |
1476 次 |
| 最近记录: |