首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Emacs:防止gud和pdb控制窗口

Emacs:防止gud和pdb控制窗口
EN

Stack Overflow用户
提问于 2009-05-01 16:47:33
回答 4查看 3K关注 0票数 7

我正在使用pdb来调试Python程序,并且对它的行为不满意。

我把屏幕分成多个emacs窗口,当我执行pdb时,它(随机?)用*gud*调试器的输出替换其中一个窗口。

此外,当遇到断点时,即使调试缓冲区已在窗口中可见,它通常也会将此缓冲区放入另一个窗口,并将另一个窗口替换为源文件的内容。(顺便说一句,我喜欢它跳到源文件中正确的行)

如何使gud/pdb无法为我管理我的窗口?在emacs中是否有可能防止对窗口和屏幕布局的所有升级操作?

编辑:我在另一篇文章中找到了部分解决这个问题的答案:切换专用窗口

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-05-01 16:52:08

调查粘窗

票数 3
EN

Stack Overflow用户

发布于 2013-03-22 21:17:27

我在Emacs 24上尝试了所有这些方法,但都没有成功。如果您仍然感兴趣,我使用‘gdb’返回到旧的gdb行为,它实现了gdb/emacs交互的旧行为(没有专用的-windows和没有I/O缓冲区)。如果在使用时不想调用M gud-gdb,则可以为M gdb定义别名。

票数 4
EN

Stack Overflow用户

发布于 2014-07-24 00:39:51

我有一个防止gdb窃取窗口的解决方案。它与Emacs24.4 (2014-07-18快照)一起工作,不需要专用缓冲区。与其他答案相比,当您更改缓冲区时,您将不必费心使用或不使用缓冲区,这很快就会变得乏味。

将此建议放入您的.emacs:

代码语言:javascript
复制
(defadvice gdb-inferior-filter
    (around gdb-inferior-filter-without-stealing)
  (with-current-buffer (gdb-get-buffer-create 'gdb-inferior-io)
    (comint-output-filter proc string)))
(ad-activate 'gdb-inferior-filter)

这有效地取代了gdb-mi.el中定义的这个函数,并删除了调用gdb显示缓冲区的分支,这是导致窗口盗窃的原因。

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

https://stackoverflow.com/questions/812192

复制
相关文章

相似问题

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