我使用emacs进行所有代码编辑需求。通常,我会使用M-x compile运行我的测试运行器,这可以让我完成大约70%的工作来保持代码正常运行,但是最近我一直在思考如何在需要时使用M-x pdb来打断点并检查事物。
在我的搜索中,我发现了一些东西,表明这是有用/可行的。然而,我尚未成功地使其以我完全理解的方式工作。
我不知道是buildout + appengine的组合可能使它更加困难,但当我尝试做类似以下的事情时:
在我的搜索中,我发现了一些东西,表明这是有用/可行的。然而,我尚未成功地使其以我完全理解的方式工作。
我不知道是buildout + appengine的组合可能使它更加困难,但当我尝试做类似以下的事情时:
M-x pdb
Run pdb (like this): /Users/twillis/projects/hydrant/bin/python /Users/twillis/bin/pdb /Users/twillis/projects/hydrant/bin/devappserver /Users/twillis/projects/hydrant/parts/hydrant-app/
其中.../bin/python是由buildout生成的解释器,路径设置为所有的eggs。
~/bin/pdb是一个简单的脚本,用于使用当前python解释器调用pdb.main。
HellooKitty:hydrant twillis$ cat ~/bin/pdb
#! /usr/bin/env python
if __name__ == "__main__":
import sys
sys.version_info
import pdb
pdb.main()
HellooKitty:hydrant twillis$
.../bin/devappserver是buildout配方为gae项目创建的dev_appserver脚本,.../parts/hydrant-app是app.yaml的路径
我首先会看到一个提示符
Current directory is /Users/twillis/bin/
C-c C-f
什么都没有发生,只有
HellooKitty:hydrant twillis$ ps aux | grep pdb
twillis 469 100.0 1.6 168488 67188 s002 Rs+ 1:03PM 0:52.19 /usr/local/bin/python2.5 /Users/twillis/projects/hydrant/bin/python /Users/twillis/bin/pdb /Users/twillis/projects/hydrant/bin/devappserver /Users/twillis/projects/hydrant/parts/hydrant-app/
twillis 477 0.0 0.0 2435120 420 s000 R+ 1:05PM 0:00.00 grep pdb
HellooKitty:hydrant twillis$
有些事情正在发生
C-x [space]
会报告已设置断点。但我无法使事情顺利进行。
感觉我在这里漏掉了一些明显的东西,是吗?
因此,在Emacs中进行交互式调试是否值得?Google App Engine应用程序中是否可能进行交互式调试?您有任何关于如何使其工作的建议吗?