<Python, ipython, pdb> デバッガー
Python
のデバッガーpdb
。
マニュアル(日本語と、英語)
27.3. pdb — Python デバッガ — Python 3.6.3 ドキュメント
27.3. pdb — The Python Debugger — Python 3.4.7 documentation
ipython
からだと、-d
オプションでスクリプトを実行すればオッケー!
こんな感じ。
>run -d hogehoge.py --option hage hikaru
コマンド群は、
h(elp) [command] 引数を指定しない場合、利用できるコマンドの一覧が表示されます。 w(here) スタックの底にあるもっとも新しいフレームとともにスタックトレースをプリントします。 d(own) [count] 新しいフレーム方向に移動します。 u(p) [count] 古いフレーム方向に移動します。 b(reak) [lineno] 行番号(lineno)の場所にブレークポイントを設定。 cl(ear) 引数なしの場合はすべてのブレークポイントを解除します (が、はじめに確認します)。 s(tep) 現在の行を実行。 n(ext) 現在の関数の次の行に達するか、あるいは関数が返るまで実行を継続します。 r(eturn) 現在の関数が返るまで実行を継続します。 c(ontinue) ブレークポイントに出会うまで、実行を継続します。 j(ump) lineno 次に実行する行を指定します。 l(ist) コード表示。 a(rgs) 現在の関数の引数リストをプリントします。 p expression 現在のコンテキストにおいて expression を評価し、その値をプリントします。 q(uit) デバッガーを終了します。実行しているプログラムは中断されます。
ipythonらいくにオブジェクトの値を確認したり、オブジェクトをちらっと実行するには、もっぱらp
を使う。