Web2pyアプリケーションをデバッグする方法は?
質問
それは可能ですか? デバッグとは、ブレークポイントの設定、値の検査、ステップごとの前進を意味します。
解決
winpdb を使用すると、TCP / IP経由でPython Webアプリのリモートデバッグを実行できます。
(リンクは2019年6月の時点で表示されます。 PyPI winpdb をお試しください)
他のヒント
web2pyは使用していませんが、ターミナルウィンドウで実行する場合は、標準のpdbのものを使用できます。コードのどこかに次の行を追加します。
import pdb; pdb.set_trace()
これは、デバッガーを呼び出して中断します。次に、 PDB コマンドを使用できます。nは次の行に進み、lコードを一覧表示するには、sは関数にステップインし、pは値を出力します。
次の設定を使用して、Web2pyで構築されたアプリケーションをデバッグできます。
- Eclipse IDE
- PydevをEclipseにインストールする
- 必要に応じてコードにブレークポイントを設定します
- Eclipse内でweb2py.pyファイルを右クリックし、[Debug As]を選択-> Python Run
- ブレークポイントがヒットすると、Eclipseはブレークポイントにジャンプし、そこで変数を調べてコードをステップスルーできます
Visual Studio 2010を使用することもできます。方法は次のとおりです。
- Visual Studio用Pythonツールをダウンロードしてインストールします。 >
- 既存のコードから新しいプロジェクトを作成します(ファイル>新規>既存のコードからプロジェクト... )
- web2pyフォルダーを指定し、デフォルトを使用します。
- web2py.pyを右クリックして、スタートアップファイルとして設定を選択します。
- ブレークポイントを設定してF5(実行)を押すか、web2py.pyを右クリックしてデバッグで開始を選択します。
既にVisual Studioを使用している場合、これは素晴らしいセットアップです。
はい、可能です。「スパン防止」のため、スクリーンショットを投稿することはまだ許可されていませんが、こちらが私のウェブサイトでホストされている完全なスクリーンショットです:
EclipseとPyDevを使用してweb2pyアプリケーションをデバッグしています。ここに記事があります: http://www.web2pyslices.com/main/slices/take_slice/2
こちらは、web2pyで動作するpdbを使用したpythonのデバッグに関する記事です。 http://sontek.net/debugging-python-with-pdb
Carlが述べたように、次のように簡単です:
- EclipseでのPyDevのインストール
- Web2Pyプロジェクトを右クリックし、[デバッグ]を選択> Python Run
- 実行するファイルとしてweb2py.pyを選択する
他のプラグインやダウンロードは必要ありません。
@Ned Batchelderはほぼ正しいですが、web2pyでそれを行う標準的な方法は少し異なります。
「import pdb;」の代わりにpdb.set_trace()、次のコードを使用します:
from gluon.debug import dbg
dbg.set_trace()
Webアプリケーションを実行するとき、アプリケーションはコードのこのセクションに到達するとフリーズします。次に、 http://127.0.0.1:8000/admin/debug/interact(アプリケーションのルートURLを使用)、完全にインタラクティブなWebベースのデバッガーが表示されます: