前回 に引き続いて、web2py で利用できるデバッグツールについて書きます。
Winpdb を使ったデバッグ
Winpdb は GUI のデバッグツールだ。Winpdb には rpdb2 というリモートデバッガが含まれており、Winpdb自体は rpdb2 のフロントエンドとして動作する。
- インストール
Winpdb は GUIライブラリーを wxPython に依存している。このため Winpdb 及び wxPython をインストールする必要がある。
- Winpdb のインストール
- pip もしくは easy_install を利用してインストールできる。
pip install winpdb easy_install winpdb
- wxPython のインストール
- wxPython のダウンロードサイト より、次の条件に合ったインストーラをダウンロードしてインストールする。
- wxPython 2.6 以上
- 開発マシンのOSに合ったもの
- 使用する Python バージョンと一致するもの
- unicode 版
- 使用手順
- Winpdb でのデバック方法について順に説明する。
- デバッグ予定のプログラムソースに次のコードを追加する。
import rpdb2 rpdb2.start_embedded_debugger('password')
password には適当なパスワード文字列(英数字)を設定する。 - デバッグ予定のソースを含んだプログラムを実行する。
- Winpdb を起動する。
Windowsならコマンドラインから、winpdb と入力して Enterを押す。
これは、Python フォルダーにある winpdb.bat を動かしているので、メニューに登録してから起動してもよい。 - Winpdb メニューの File → Attach をクリックする。
Attach のウィンドウと一緒に Passwaord のウィンドウが開く。パスワードの項目に、先ほどソースに挿入したコードのパスワードを設定して OK を押す。
するとパスワードが一致するプロセスが表示されるので、プロセスを選択して OK を押す。
Winpdb にデバッグ情報が表示されるので、ブレークポイントの設定などをしてからデバッグする。
- デバッグ予定のプログラムソースに次のコードを追加する。
- Windbgコマンドの簡単な説明
- 以下簡単にコマンドを説明する(複数の方法がある)。
ツールバー
(注意)
Winpdb は web2py の pythonランタイム版では利用できない。
web2py のデバッグ用ツールとして、pdb, ipdb, Winpdb の3つをを紹介しました。web2py のデバック方法の説明というより、デバッガの説明になってしまいましたが・・・。
以上でデバッグツールの説明は終了します。