如何在emacs 24.x shell中启用pdbtrack python调试?

时间:2014-10-09 18:00:42

标签: python emacs pdb

使用emacs 23.x,pdbtrack集成(给你指向当前代码行的箭头)与常规M-x shell RET一起使用。例如,这在使用Makefile运行自动化测试时进入调试器是很有用的。

在emacs 24.x中,这不再有效。我注意到如果我运行带有M-x python-shell-send-file的python脚本,那么pdbtrack集成就可以了。但是当通过标准的emacs shell(M-x shell RET)运行python时它不起作用。

2 个答案:

答案 0 :(得分:5)

我使用此代码段:

(require 'python)

(defun my-shell-mode-hook ()
  (add-hook 'comint-output-filter-functions 'python-pdbtrack-comint-output-filter-function t))

(add-hook 'shell-mode-hook 'my-shell-mode-hook)

防止pdbtrack的东西尝试在其他缓冲区(例如gdb缓冲区)上工作。

答案 1 :(得分:3)

您可以通过在.emacs文件中添加以下挂钩来解决此问题:

(add-hook 'comint-output-filter-functions 'python-pdbtrack-comint-output-filter-function)