App Engine 1.7.6中的PyDev断点坏了吗?

时间:2013-03-20 03:26:36

标签: eclipse google-app-engine python-2.7 pydev breakpoints

我刚刚升级到我的python应用程序的App Engine 1.7.6 SDK,并意识到在使用新的dev_appserver.py时,断点不再适用于PyDev(Eclipse插件)。

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

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

3 个答案:

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

  1. PyDev Breakpoints in App Engine 1.7.6 broken?
  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
  6. 我在这里跟踪这个问题的发展: 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之前在你自己的项目中运行它,它应该修复它。