2016-09-12 5 views
0

私のコードの2箇所にpdb.set_trace()があります。問題は、特定の場所で開始したいときに2番目の領域に複数の停止点があることです。次に例を示します。pdbのset_traceを最初のブレークポイントにする方法

def function(): 
    #some code in here 
    pdb.set_trace() 
    #some more code 

def main(): 
    #some code 
    function() 

    #come more code 
    function() 

    #the code I care about 
    pdb.set_trace() 
    function() 

ここでの問題は、それが実際に私が機能するには、メインと内部の最初停止するしたい、実際のset_traceに入る前に二度の関数で停止することです。

これは大したことではありませんが、実際の設定では、 'main' set_trace()に到達する前に 'function'の内部に100回の呼び出しを行います。最初のset_trace()を指定する方法や、set_traceへのすべての呼び出しを無視する方法がありますか?

+0

set_traceを呼び出すための条件付きの 'if'ブロックを使用できませんか? – karthikr

答えて

0

pdbでデバッグするために(pdb.set_trace()への呼び出しを追加することで)コードを変更する必要はありません(そのアドバイスは常に私に間違っているようです)。 This questionは、このアプローチが引き起こす可能性のある問題のもう1つの例です。

あなたはpdb.set_trace()への呼び出しなしで、あなたのコードのバージョンpdbを呼び出し、pdb使用する場合は、あなたなしのdisableコマンド「あなたがそうでなければpdb.set_trace()への呼び出しを追加している可能性がどこにブレークポイントを設定するのbreakコマンドを、あなたはpdbを使用することができますが」ブレークポイントを有効にするのに長い時間を要します。

関連する問題