我刚刚为我的 python 应用升级到 App Engine 1.7.6 SDK,并意识到在使用新的dev_appserver.py
.
有谁知道再次启用它们的方法?我假设新服务器正在为 Web 服务器生成一个新进程,并且调试器没有附加到那个进程。我不确定如何配置它来做到这一点。
与此同时,我正在使用old_dev_appserver.py
服务器。
我刚刚为我的 python 应用升级到 App Engine 1.7.6 SDK,并意识到在使用新的dev_appserver.py
.
有谁知道再次启用它们的方法?我假设新服务器正在为 Web 服务器生成一个新进程,并且调试器没有附加到那个进程。我不确定如何配置它来做到这一点。
与此同时,我正在使用old_dev_appserver.py
服务器。
2012 年 7 月 27 日更新:
根据评论,我验证了更新到 PyDev 后问题已解决。2.8 和 App 引擎 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
是的,遇到了同样的问题。
打开您的运行/调试配置并将主模块设置为:
${GOOGLE_APP_ENGINE}/old_dev_appserver.py
你的意思是 pdb.set_trace() 不工作?
在 google/appengine/tools/dev_appserver.py 中查找函数 MonkeyPatchPdb()
在你使用 pdb 之前在你自己的项目中运行它,它应该修复它。