我正在开发一个使用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点)。
答案 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中正常工作。