打破pydev / gae中未处理的异常

时间:2011-04-23 03:19:40

标签: pydev

我正在使用pydev开发谷歌应用引擎应用程序。我按照提到的here步骤配置pydev调试器来打破未处理的异常。我可以让它在一个示例pydev项目上工作,但当我在我的pydev gae项目中尝试相同的步骤时,它不起作用并给出以下错误:

  

pydev调试器:警告:psyco没有   可用于加速(调试器   仍然会正常工作,但有点   慢)pydev调试器:启动   ...
  追溯(最近的呼叫最后):
  文件“c:\ program   文件\谷歌\ google_appengine \谷歌\ AppEngine上\ TOOLS \ dev_appserver.py”   第3858行,在_HandleRequest中       self._Dispatch(dispatcher,self.rfile,outfile,env_dict)文件   “C:\程序   文件\谷歌\ google_appengine \谷歌\ AppEngine上\ TOOLS \ dev_appserver.py”   第3792行,在_Dispatch中       base_env_dict = env_dict)文件“c:\ program   文件\谷歌\ google_appengine \谷歌\ AppEngine上\ TOOLS \ dev_appserver.py”   第580行,在Dispatch中       base_env_dict = base_env_dict)文件“c:\ program   文件\谷歌\ google_appengine \谷歌\ AppEngine上\ TOOLS \ dev_appserver.py”   第2918行,在Dispatch中       self._module_dict)文件“c:\ program   文件\谷歌\ google_appengine \谷歌\ AppEngine上\ TOOLS \ dev_appserver.py”   第2822行,在ExecuteCGI中       reset_modules = exec_script(handler_path,cgi_path,   hook)文件“c:\ program   文件\谷歌\ google_appengine \谷歌\ AppEngine上\ TOOLS \ dev_appserver.py”   第2702行,在ExecuteOrImportScript中       exec module_code在script_module。 dict 文件中   “C:\用户\ siddjain \工作空间\ RFAD \ SRC \ main.py”,   第1行,in       import pydevd ImportError:没有名为pydevd的模块

我对gae项目的调试配置是这样的: enter image description here

它运行的示例pydev项目是这样的,并且在我的gae项目中遵循相同的模式:

import pydevd

def f(x,y):
    z = y/x;
    return z;

def main():
    pydevd.set_pm_excepthook()
    print f(0,0)

if __name__ == '__main__': 
    main()

测试项目的运行配置如下: enter image description here

pydevd.py模块位于C:\ eclipse \ plugins \ org.python.pydev.debug_2.0.0.2011040403 \ pysrc下。虽然此路径未包含在测试项目的pythonpath中,但是测试中的中断工作。我也尝试在gae项目的pythonpath中包含这条路径,看看是否能修复我的问题,但它没有

1 个答案:

答案 0 :(得分:1)

它仍然没有固定,虽然以下步骤摆脱了没有名为pydevd的模块错误:
1.创建一个符号链接到C:\ eclipse \ plugins \ org.python.pydev.debug_2.0.0.2011040403 \ pysrc:
src> mklink / d调试器C:\ eclipse \ plugins \ org.python.pydev.debug_2.0.0.2011040403 \ pysrc
2.在C:\ eclipse \ plugins \ org.python.pydev.debug_2.0.0.2011040403 \ pysrc中放入一个空的__init__.py文件。我从一些我现在找不到的谷歌链接中学到了这一点 3.源代码:
将debugger.pydevd导入为pydevd

在这些步骤之后它能够导入pydevd,但仍然没有在未捕获的异常中断。 开发服务器在本地计算机上运行您的应用程序以测试您的应用程序。服务器模拟App Engine数据存储,服务和沙箱限制(因此步骤1)。虽然我不明白为什么我们需要导入pydevd,因为它的pydevd首先运行我们的应用程序!
在Run-> Debug Configurations-> Interpreter选项卡中,如果我点击“查看结果命令行...” C:\ Python25 \ python.exe -u C:\日食\插件\ org.python.pydev.debug_2.0.0.2011040403 \ pysrc \ pydevd.py --vm_type python --client 127.0.0.1 --port 0 --file“c:\ program 文件\谷歌\ google_appengine \ dev_appserver.py“

将使用的PYTHONPATH是:

C:\蚀\插件\ org.python.pydev_2.0.0.2011040403 \ PySrc \ pydev_si ...