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 Engine 1.8.2

廃止:

googleappengine issues trackerで問題の次の分析を見つけました

PDB が機能しない理由は、dev_appserver がプロセス間通信に stdin/stdout を使用しているためです。Python には、IPC 用の組み込みライブラリがあります: http://docs.python.org/2/library/ipc.html。dev_appserver はこれらを使用する必要があり、PDB が機能するように stdin/stdout をそのままにしておくことができます。

そのため、old_dev_appserver.py を使用するように戻すのではなく、回避策はないようです。

UPDATE 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 に答える