pytho****@googl*****
pytho****@googl*****
2011年 11月 28日 (月) 21:53:31 JST
Revision: 14d3267920c5 Author: Naoki INADA <inada****@klab*****> Date: Mon Nov 28 04:52:36 2011 Log: Update 2.7.2: library/pdb http://code.google.com/p/python-doc-ja/source/detail?r=14d3267920c5 Modified: /library/pdb.rst ======================================= --- /library/pdb.rst Sat Mar 5 19:01:30 2011 +++ /library/pdb.rst Mon Nov 28 04:52:36 2011 @@ -1,4 +1,3 @@ - .. _debugger: :mod:`pdb` --- Python デバッガ @@ -78,10 +77,10 @@ -> print spam (Pdb) + モジュールは以下の関数を定義しています。 それぞれが少しづつ違った方法でデバッガに入ります: - .. function:: run(statement[, globals[, locals]]) デバッガに制御された状態で(文字列として与えられた) *statement* を実行し ます。 @@ -127,7 +126,38 @@ .. function:: pm() - ``sys.last_traceback`` のトレースバックの事後解析デバッギングに入りま す。 + :data:``sys.last_traceback`` のトレースバックの事後解析デバッギングに入 ります。 + + +``run*`` 関数と :func:`set_trace` は、 :class:`Pdb` クラスをインスタンス化 して +同名のメソッドを実行することのエイリアス関数です。 +それ以上の機能を利用したい場合は、インスタンス化を自分でしなければなりませ ん。 + +.. class:: Pdb(completekey='tab', stdin=None, stdout=None, skip=None) + + :class:`Pdb` はデバッガークラスです。 + + *completekey*, *stdin*, *stdout* 引数は、基底にある :class:`cmd.Cmd` + クラスに渡されます。そちらの解説を参照してください。 + + *skip* 引数が指定された場合、 glob スタイルのモジュール名パターンの iterable + (イテレート可能オブジェクト) でなければなりません。 + デバッガはこのパターンのどれかにマッチするモジュールに属するフレームには + ステップ・インしません。 [1]_ + + *skip* を使ってトレースする呼び出しの例:: + + import pdb; pdb.Pdb(skip=['django.*']).set_trace() + + .. versionadded:: 2.7 + *skip* 引数 + + .. method:: run(statement[, globals[, locals]]) + runeval(expression[, globals[, locals]]) + runcall(function[, argument, ...]) + set_trace() + + 上で説明された関数のドキュメントを参照してください。 .. _debugger-commands: @@ -213,7 +243,8 @@ 一時的なブレークポイントで、最初にそこに達したときに自動的に取り除かれま す。 引数は break と同じです。 -cl(ear) [*bpnumber* [*bpnumber ...*]] +cl(ear) [*filename:lineno* | *bpnumber* [*bpnumber ...*]] + *filename:lineno* 引数を与えると、その行にある全てのブレークポイントを解 除します。 スペースで区切られたブレークポイントナンバーのリストを与えると、 それらのブレークポイントを解除します。 引数なしの場合は、すべてのブレークポイントを解除します @@ -372,3 +403,9 @@ q(uit) デバッガを終了します。実行しているプログラムは中断されます。 + + +.. rubric:: 脚注 + +.. [1] フレームが属するモジュールは、そのフレームのグローバルの + ``__name__`` によって決定されます。