14

我刚刚为我的 python 应用升级到 App Engine 1.7.6 SDK,并意识到在使用新的dev_appserver.py.

有谁知道再次启用它们的方法?我假设新服务器正在为 Web 服务器生成一个新进程,并且调试器没有附加到那个进程。我不确定如何配置它来做到这一点。

与此同时,我正在使用old_dev_appserver.py服务器。

4

3 回答 3

8

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 更新:无法调试很烦人。许多开发者抱怨它

  1. App Engine 1.7.6 中的 PyDev 断点损坏?
  2. https://groups.google.com/forum/?fromgroups=#!topic/google-appengine/ep5BWYKpQpU
  3. https://groups.google.com/forum/?fromgroups=#!topic/google-appengine/TCQuJpF44cY
  4. https://code.google.com/p/appengine-devappserver2-experiment/issues/detail?id=28
  5. https://code.google.com/p/googleappengine/issues/detail?id=9012

我在这里跟踪这个问题的发展:http: //goo.gl/XRU01

于 2013-04-04T06:11:16.283 回答
3

是的,遇到了同样的问题。

打开您的运行/调试配置并将主模块设置为:

${GOOGLE_APP_ENGINE}/old_dev_appserver.py
于 2013-03-31T04:56:23.733 回答
1

你的意思是 pdb.set_trace() 不工作?

在 google/appengine/tools/dev_appserver.py 中查找函数 MonkeyPatchPdb()

在你使用 pdb 之前在你自己的项目中运行它,它应该修复它。

于 2013-03-20T03:35:41.487 回答