LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2609|回复: 5

请emacs高人指导windows下如何用emacs运行pdb调试python

[复制链接]
发表于 2007-6-28 10:54:20 | 显示全部楼层 |阅读模式
linux下emacs中调用pdb调试python一切正常,windows下,装了cygwin和python,设置了cygwin mount 的插件,可以运行pdb,但似乎无法捕获其输出。

python的进程已经运行,但emacs中无反应,根据 http://mail.python.org/pipermail ... ptember/164190.html
的讲述修改了gud的代码,还是不解。

目前尚无功力去调试gud的代码,请搞定的高人赐教。
 楼主| 发表于 2007-6-28 10:57:10 | 显示全部楼层
顺便说一下,emacs版本都是22.1,linux下自己编译的,windows下从
gnu.org拉的,linux是fc3,windows是2000adsvr,python版本都是2.4。
回复 支持 反对

使用道具 举报

发表于 2007-6-28 17:27:45 | 显示全部楼层
我说一下Linux下的吧。

其实方法很简单,先打开一个源文件,主菜单中会多出一个Python项。
要调试程序则选Python/Debugger,此时在最下面的minibuffer中会出现提示:
Run pdb (like this): pdb --annotate=3 test1.py

将其改为:
Run pdb (like this): [color="Red"]python -m pdb --annotate=3 test1.py

回车之后就可以开始调试了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-29 08:12:08 | 显示全部楼层
thx for reply, pdb 在linux下是在 /usr/bin 下面的一个 shellscript, 估计功能类似 python -m pdb --annotate=3。

在emacs里,应该就是设置 gud-pdb-command-name,我已经设置成 python.exe -m pdb --annotate=3 了,运行 pdb的时候,的确是执行的 python.exe -m pdb --annotate=3 d:\test.py,但是就是不能开始调试,进程看到 python.exe 已经启动了!emacs 回显

Current directory is D:\emacs\bin/

就完了,只能强制结束进程。

linux下不用作任何修改运行 /usr/bin/pdb 就是完全正常的,估计就是 “Windows” 下不知道什么地方有些不同,python.exe 无论是windows 安装版还是 cygwin 自带的,我都试过了,尚不行。
回复 支持 反对

使用道具 举报

发表于 2007-6-29 12:12:53 | 显示全部楼层
我在 linux 下出现过类似情况,记得好像是 gud.el 的问题。你试试这个。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-29 14:09:51 | 显示全部楼层
兴奋地下来后diff一看,居然同我emacs22.1里面的gud.el素一样地,沮丧中..
我linux下也都是好用的。:eek:
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表