首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在没有显式断点的情况下使用ipdb和emacs的gud

在没有显式断点的情况下使用ipdb和emacs的gud
EN

Stack Overflow用户
提问于 2014-02-16 01:45:30
回答 1查看 2K关注 0票数 14

如果我从菜单中选择‘调试器’,并输入‘pythonPDBmyfile.py’,那么我将使用python.el,在一个拆分框架中,我看到( pdb )提示符,而在另一个框架中,我的python代码在第一行上有一个插入符号,表明它已经准备好了。例如,“n”步骤到下一行,插入符号相应地移动。

如果我输入‘pythonipdbmyfile.py’,则框架分裂,一个拆分标记为gud,但是没有ipdb控制台。换句话说,这种启动ipdb的方式似乎行不通。如果我使用ipdb.set_trace()在python代码中手动插入断点,则Ipdb工作得很好,只是它不使用gud接口。这是有意的吗?这样ipdb的堆栈跟踪就可以很好地工作了吗?

如果是的话,这很好,但是是否有一种方法可以从emacs启动ipdb而无需手动添加set_trace()命令?

EN

回答 1

Stack Overflow用户

发布于 2015-07-05 15:37:40

这里的基本问题是,gud正在寻找一个(Pdb)提示符,而ipdb不是这样提示的。修复这个问题有三种方法: fix提供(Pdb)提示,fix不需要查找(Pdb)或(我最喜欢的)在gud端或ipdb端使用其他东西。

修复gud的问题是,它已经很老了,在我看来,使用全局变量而不是使用列表和反单元格以外的Emacs数据结构有点不稳定。gud的全部重写称为雷格德,目前在MELPA和ELPA中。并且支持ipdb。

最后一种选择是使用其他的东西,所以让我建议已经集成到realgud中的Python透视图调试器 (但不是gud,因为我认为这是一个死胡同)。虽然它给出的回溯不完全像ipdb的,但它确实给它们加上了源代码。

而最新版本的trepan3k回溯甚至会显示,按需,您在行中的位置。所以,如果你说一个函数有两个调用,比如fib(),它会区分哪个调用函数正在进行中。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21806204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档