ふにゃるんv2

もとは、http://d.hatena.ne.jp/Wacky/

PythonのGUIデバッガ winpdbを入れてみよう

今日も今日とて、ぐるぐるネットさ〜ふぃん。
こんなのを見つけた。

  • chibafの日記 - memo : winpdb

http://d.hatena.ne.jp/chibaf/20051028#p13
Winpdbは高度なニシキヘビデバッガです、賢い区切り点のサポートで複数の糸(名前空間変更)がpdbのものの最大20回のデバッグ、コード化されたコミュニケーション、および速度を埋め込みました。

プロジェクトページスクリーンショットを見ると、これがカッコいいのよ。


という訳で、思わず入れてみる事にした。


ダウンロードファイルは、"winpdb-1.0.6.win32.exe"ね。
ちゃっちゃとセットアップする。
インストールすると、"C:\tool2\Python24\Scripts"フォルダに、"_winpdb.py"ってのが出来上がるので、これを呼び出せばOKらしい。

C:\tool2\Python24\Scripts>_winpdb.py
wxPython was not found.
wxPython 2.6 or higher is required to run the winpdb GUI.
You can get more information on wxPython in http://www.wxpython.org/
To use the debugger without a GUI, run rpdb2.py or _rpdb2.py

…どうやら、wxPythonを要求してますな。

ansi版とunicode版があるが、どっちがいいんだろう?
上に何か書かれているんだが、よくわかんない。まぁ、XP/2000環境では、Unicodeを勧めているように読めるので、Unicode版をDLする事にする。
"wxPython2.6-win32-unicode-2.6.1.0-py24.exe"をDLしてインストールした。

セットアップ時、一応、full instrationを選んだ。

で、再挑戦ね。

C:\tool2\Python24\Scripts>_winpdb.py

---------------------------
Error
---------------------------
Encryption is not supported since the python-crypto package was not found. Either install the python-crypto package or allow unencrypted connections with the '-t' command line flag.
---------------------------
OK   
---------------------------

ありゃまぁ。こんなダイアログボックスが出てきたよ。


という訳で、python-cryptoを取ってくる。

ちなみに、NoboNoboRTD 12.8.2005 Winpdb 1.0.1 リリースのBlog記事で、バイナリの在り処が紹介されている。

グラフィカル Python デバッガです。

wxPythonとpycryptoが必要なんですが、 pycryptのPython2.4用バイナリ for Windowsなら、以下のサイトに。

http://www.voidspace.org.uk/python/modules.shtml#pycrypto

という訳で、こっち("pycrypto-2.0.1.win32-py2.4.zip")を取ってインストール。

またまた、再挑戦。

C:\tool2\Python24\Scripts>_winpdb.py

すると、↓こんな画面が出てくる。おぉ〜。
winpdb
winpdb posted from フォト蔵


試しに、簡単なコードをデバッグさせてみた。

F:\Wacky\Test\python>C:\tool2\Python24\Scripts\_winpdb.py test2.py

winpdb
winpdb posted from フォト蔵


画面を見ると、左上ペインが、変数やオブジェクトの内容を見られるデータウィンドウっぽい。右のコードウィンドウで、ステップ実行やブレークポイントを配置できたりする。
左中は、スレッドウィンドウっぽいですな。へぇ〜。

下は、print文の所にブレークをかけて、内部のデータを閲覧している所。
winpdb
winpdb posted from フォト蔵


クイックウオッチができないのが、ちょっと残念だけど すごく便利っぽい。
普段は、IPythonでデバッグして、1ステップずつ追いかけないといけないような困難な状況に至ったらwinpdbでウハウハかな?