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 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: デバッグできないのは厄介です。多くの開発者はそれについて不満を言っています
ここでこの問題の進展を追跡しています: http://goo.gl/XRU01
はい、同じ問題に遭遇しました。
実行/デバッグ構成を開き、メインモジュールを次のように設定します。
${GOOGLE_APP_ENGINE}/old_dev_appserver.py
pdb.set_trace() が機能していないということですか?
google/appengine/tools/dev_appserver.py で関数 MonkeyPatchPdb() を探します。
pdbを使用する前に、自分のプロジェクトのどこかでそれを実行すると、修正されるはずです。