AppEngineをローカルで(つまりdev_appserver.pyを使用して)作業している間に、ステップバイステップのデバッグを行うにはどうしますか? logging.info()または同様の関数を使用してコード内のすべての変数の値を表示し、エラーの場所を判断するのは古すぎる方法です。AppEngine:ステップバイステップのデバッグ
答えて
Eclipse PyDevはデバッグとAppEngineをサポートしています。
ローカルAppEngineのプロセスは、通常のPythonのプロセスがある場合は、オプションのカップルがあります:あなたのコードで
、場所 "コードブレークポイント":
import pdb; pdb.set_trace()
を。dev_appserver.py
を通常どおり実行し、Pythonデバッガはコードでその行に達したときにブレークします。pdbで
dev_appserver.py
を実行します。シェルから:$ python -m pdb dev_appserver.py
。ブレークポイントを設定するには、コマンドb filename.py:linenumber
を使用します。その後、続行するにはc
コマンドを使用します。
http://docs.python.org/library/pdb.html#debugger-commandsがpdb module documentationを見ます。
codeapeの答えの最初の提案で少し拡張してください:dev_appserver.pyはstdin、stdout、stderrについてうんざりしているので、もう少し作業をすることで "コードブレークポイント"を設定する必要があります。これは私のためのトリックを行います。
import sys
for attr in ('stdin', 'stdout', 'stderr'):
setattr(sys, attr, getattr(sys, '__%s__' % attr))
import pdb
pdb.set_trace()
あなたは、コマンドラインからではなく、GUIのApp Engineランチャー経由dev_appserver.py
を実行する必要があります。 pdb.set_trace()
行が実行されると、その時点でpdb
デバッガにドロップされます。
PyCharm Professional Editionは、ステップバイステップのデバッグを可能にします。
いくつかの設定手順を実行したい場合は、PyCharm Community Editionの無料版をGoogle App EngineのPythonでも使用できるように設定できます。 PyCharm Professional Editionのデプロイメントなどのすべての利点を得ることはできませんが、段階的なデバッグを行い、コードナビゲーションと自動補完作業を行うことができます。デバッグを有効にするには
、設定することにより、PyCharm実行/デバッグの設定を編集します。
- スクリプト:App Engineのdev_appserver.py
- スクリプトパラメータ:
--automatic_restart=no --max_module_instances="default:1" .
- 作業ディレクトリ:お使いのベースのプロジェクトフォルダ( app.yamlファイルを含むもの)
aup PyCharm CE prでの詳しい手順、説明、およびコード補完方法については、 oject、http://www.enkisoftware.com/devlogpost-20141231-1-Python_Google_App_Engine_debugging_with_PyCharm_CE.htmlを参照してください。
あなたがWindows上で作業しているとあなたはGAEのデバッグのpythonにPyTools(マイクロソフトのVisual Studioのコミュニティ)を使用したい場合は、最初のものは私のために動作しませんでしたhttp://www.enkisoftware.com/devlogpost-20140814-1-Python_Google_App_Engine_debugging_with_PyTools.html
- 1. ステップバイステップのデバッグ目的c
- 2. Appengine urlfetchデバッグ
- 3. ランタイムエラーですが、ステップバイステップのデバッグはうまく動作します
- 4. ステップバイステップのNServiceBusサンプル?
- 5. Ajaxリクエストのステップバイステップ
- 6. PandaboardでステップバイステップのFreeBSDカーネルブートプロセスのデバッグ/トレースには何が使えますか?
- 7. Flash Builder 4 - ステップバイステップのデバッグ中にブラウザに出力を表示しますか?
- 8. Socket.Receive()は、コードをステップバイステップでデバッグするときにのみ動作します
- 9. Java Web Start。ステップバイステップ
- 10. eclipse lunaを使用してWeb phpプロジェクトをステップバイステップでデバッグする方法
- 11. pyusb on macOSX 10.11ステップバイステップ
- 12. ctags、jsctags/doctorjs、Tagbarステップバイステップ
- 13. ステップバイステップ表示Googleマップ
- 14. ステップバイステップでのSpringのサンプルJMS
- 15. Spring MVCのステップバイステップのチュートリアル
- 16. 読むテキストファイルのステップバイステップの
- 17. Stackdriverデバッグappengineエラー:Pythonモジュールが見つかりません
- 18. Caffeデータレイヤの例をステップバイステップ
- 19. jQueryステップバイステップのフォーム変数
- 20. Androidのウィザード形式(ステップバイステップ)アプリケーション
- 21. ステップバイステップのユーザー対話パターン
- 22. Google GlassのHello Worldプログラム - ステップバイステップ
- 23. 作成のチェックリスト/「ステップバイステップUnity3D
- 24. Jqueryでのアニメーション、ステップバイステップ実行
- 25. デバッグモードでのステップバイステップEclipse ADT
- 26. ステップバイステップを探してDBUtilsチュートリアル
- 27. WebKit JSバインディング:ステップバイステップ方法
- 28. アップグレードlaravel 4.1から5ステップバイステップ
- 29. html5-javascriptのキャンバスの描画のステップバイステップ
- 30. coqでのステップバイステップの簡略化
参照してください。それはちょうど停止しないと私はBdbQuitエラーを取得するようだ! – Rafid
2つ目は私のために働いたが、それは便利ではない。それは私のコードの特定のポイントでブレークポイントを持っている間、最初から壊れています。 – Rafid
ブレークポイントを設定するには、 "b filename.py:linenumber"コマンドを使用します。次に、 "c"コマンドを使用して続行します。私は、プロセスのリストにそれをAppEngineLauncherにおけるアプリとgrepを開始し、実行するコマンドを把握するにはhttp://docs.python.org/library/pdb.html#debugger-commands – codeape