如何在Mac OS X上修复Aquamacs中的pdb?

时间:2010-07-28 22:41:39

标签: python emacs debugging

我正在开发一个使用aquamacs作为我的ide的django app。自从使用python 2.6.1升级到emacs 23.2.1后,Pdb无法正常工作。当我像这样调用pdb:

M-x pdb
Run pdb (like this): pdb ./manage.py runserver

gud-manage.py框出现此消息(仅此而已) -

Current directory is /path/to/my/source/

虽然我可以右键单击并发送退出或终止信号,但它对键盘输入没有响应。似乎emacs没有正确捕获pdb输出。

有没有人见过这个并且(希望)修好了?我认为它与gud-pdb-marker-regexp variable有关(请参阅链接中的第2点)。

相关问题

  1. Seems to have been around since 2007
  2. 一个人a solution for this problem on Windows(在pdb脚本中向python命令添加-u)。无论如何我试过了,但这对我没用。

3 个答案:

答案 0 :(得分:2)

不确定你是否就是这种情况,但只是提一下:当源代码路径包含空格时,PDB在Emacs中为我挂起 - 当我将python文件移动到名称中没有空格的目录时,它有效(在Emacs 23.1.1上)。

答案 1 :(得分:2)

同样的问题(当前目录是......)给我发了emacs 23.2(9)。正如您所提到的,它是由CR / LF结尾引起的,可以通过设置gud-pdb-marker-regexp来修复。

我将CR(\r)添加到gud-pdb-marker-regexp。您是否要将以下行添加到.emacs文件中并试一试。

(setq gud-pdb-marker-regexp "^> \\([-axx-zA-Z0-9_/.:\\]*\\|<string>\\)(\\([0-9]+\\))\\([a-zA-Z0-9_]*\\|\\?\\|<module>\\)()\\(->[^\n\r]*\\)?[\n\r]")

答案 2 :(得分:0)

我一直有同样的问题。我把它固定在23.1(http://debbugs.gnu.org/db/56/5653.html)但现在在23.2中修复不再有效,或者至少它对我来说似乎没有。我刚刚向Emacs提交了一个错误,详细解释了这个问题,希望它能得到解决。

解决方法是从emacs shell执行pdb:

打开shell:M-x shell 在shell中输入:pdb

这将使pdb在shell中正常工作。