2014-10-09 49 views
1

使用emacs 23.x,pdbtrack集成(讓您指向當前代碼行的箭頭)與常規M-x shell RET配合使用。例如,在運行帶有Makefile的自動化測試時,將其放入調試器中非常有用。如何在emacs 24.x shell中啓用pdbtrack python調試?

在emacs 24.x中,這不再有效。我注意到,如果我運行一個M-x python-shell-send-file的Python腳本,那麼pdbtrack集成的作品。但通過標準的emacs shell(M-x shell RET)運行python時,它不起作用。

回答

4

我用這個片段:

(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

起初我以爲這段代碼沒有任何作用,但後來才意識到,也許我應該把'my-mode-hook'改成'python-mode-hook'。真正?我新使用鉤子。 – reteptilian 2015-01-14 23:54:06

+0

對不起!我盲目地通過並將我的實際用戶名改爲「我的」,並且做了太多事。它是你想要的shell-mode-hook,而不是my-mode-hook或者python-mode-hook。 – sfink 2015-01-20 01:53:08

3

您可以通過添加以下鉤到您.emacs文件解決此問題:

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

不錯,適合我,謝謝! – reteptilian 2014-10-13 01:06:04