2011-07-18 11 views
52

pdb.set_trace()を使ってループをスキップする方法はありますか?例えばpython pdb - skip loop

pdb.set_trace() 
for i in range(5): 
    print(i) 

print('Done!') 

pdbがループ前に確認を求めます。私はコマンドを入力します。すべての1-5の値が返された後、print('Done!')が実行される前に再びpdbとプロンプトされたいと思います。

答えて

78

untilステートメントを試してください。

ループの最後の行に移動し、untilを使用します。これは、ループの直後に、次の行に移動します。

http://www.doughellmann.com/PyMOTW/pdb/は良い説明を持っています

-10

もし私がこれを正しく理解していれば。これを行うための

1つの可能な方法は、次のようになります。

あなたはあなたのPDBプロンプトを取得したら。 'n'(次へ)を10回押してループを終了します。

しかし、私はpdbのループを終了する方法に気づいていません。

「r」を使用して関数を終了することもできます。

+0

ループが10000000の場合はどうなりますか?あなたの答えは非常に明白です。 – Hector

5

ループの後にブレークポイントを設定する必要があります(上記の行がmain.pyというファイルにあると仮定して "break main.py:4"を作成してから、 "c"を実行してください)。