我正在使用pdb来调试Python程序,并且对它的行为不满意。
我把屏幕分成多个emacs窗口,当我执行pdb时,它(随机?)用*gud*调试器的输出替换其中一个窗口。
此外,当遇到断点时,即使调试缓冲区已在窗口中可见,它通常也会将此缓冲区放入另一个窗口,并将另一个窗口替换为源文件的内容。(顺便说一句,我喜欢它跳到源文件中正确的行)
如何使gud/pdb无法为我管理我的窗口?在emacs中是否有可能防止对窗口和屏幕布局的所有升级操作?
编辑:我在另一篇文章中找到了部分解决这个问题的答案:切换专用窗口
发布于 2009-05-01 16:52:08
调查粘窗。
发布于 2013-03-22 21:17:27
我在Emacs 24上尝试了所有这些方法,但都没有成功。如果您仍然感兴趣,我使用‘gdb’返回到旧的gdb行为,它实现了gdb/emacs交互的旧行为(没有专用的-windows和没有I/O缓冲区)。如果在使用时不想调用M gud-gdb,则可以为M gdb定义别名。
发布于 2014-07-24 00:39:51
我有一个防止gdb窃取窗口的解决方案。它与Emacs24.4 (2014-07-18快照)一起工作,不需要专用缓冲区。与其他答案相比,当您更改缓冲区时,您将不必费心使用或不使用缓冲区,这很快就会变得乏味。
将此建议放入您的.emacs:
(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显示缓冲区的分支,这是导致窗口盗窃的原因。
https://stackoverflow.com/questions/812192
复制相似问题