我刚刚升级到我的python应用程序的App Engine 1.7.6 SDK,并意识到在使用新的dev_appserver.py
时,断点不再适用于PyDev(Eclipse插件)。
有没有人知道再次启用它们的方法?我假设新服务器正在为Web服务器生成一个新进程,并且调试器没有附加到该服务器。我不知道如何配置它来做到这一点。
与此同时,我正在使用old_dev_appserver.py
服务器。
答案 0 :(得分:8)
更新2012-07-27:
在评论之后,我确认,问题在更新后解决了 PyDev的。 2.8和App Engine 1.8.2
已过时:
我在googleappengine issues tracker
找到了以下问题分析PDB不起作用的原因是因为dev_appserver正在使用 用于进程间通信的stdin / stdout。 Python内置了 IPC的图书馆:http://docs.python.org/2/library/ipc.html。 dev_appserver应该使用这些,然后可以保留stdin / stdout 单独使PDB仍然有效。
所以似乎没有解决方法,而不是恢复使用old_dev_appserver.py
更新2013-04-23: 无法调试很烦人。 许多开发者抱怨它
我在这里跟踪这个问题的发展: http://goo.gl/XRU01
答案 1 :(得分:3)
打开运行/调试配置并将主模块设置为:
${GOOGLE_APP_ENGINE}/old_dev_appserver.py
答案 2 :(得分:1)
你的意思是pdb.set_trace()不起作用吗?
在google / appengine / tools / dev_appserver.py
中查找函数MonkeyPatchPdb()在使用pdb之前在你自己的项目中运行它,它应该修复它。