eclipse(および他のいくつかのIDEでも同様です)では、特定のヒット数の後でのみブレークポイントをオンにするオプションがあります。 Pythonのpdb
には、ブレークポイントのヒットカウントがあり、condition
コマンドがあります。どのようにそれらを接続するのですか?python:pdbでは、nヒットカウント後にのみブレークポイントを有効にすることは可能ですか?
14
A
答えて
10
は、私は答えを見つけました。
b 9
出力:Breakpoint 2 at ...
ignore 1 1000
出力:Will ignore next 1000 crossings of breakpoint 1.
c
それはあなたが1000本のヒットの後に9行目にブレークポイントで中断したいとしましょう
ignore
と呼ばれるコマンドがあります、実際にはかなり簡単です
13
条件付きブレークポイントは2つの方法で設定することができる -
FIRST:条件は、既存のに適用することができる。ブレークポイントがbreak
python -m pdb pdb_break.py
> .../pdb_break.py(7)<module>()
-> def calc(i, n):
(Pdb) break 9, j>0
Breakpoint 1 at .../pdb_break.py:9
(Pdb) break
Num Type Disp Enb Where
1 breakpoint keep yes at .../pdb_break.py:9
stop only if j>0
(Pdb) continue
i = 0
j = 0
i = 1
> .../pdb_break.py(9)calc()
-> print 'j =', j
(Pdb)
SECONDを用いて設定されたときの条件を指定しますブレークポイントはcondition
コマンドを使用します。引数はブレークポイントIDと式です。
$ python -m pdb pdb_break.py > .../pdb_break.py(7)<module>() -> def calc(i, n): (Pdb) break 9 Breakpoint 1 at .../pdb_break.py:9 (Pdb) break Num Type Disp Enb Where 1 breakpoint keep yes at .../pdb_break.py:9 (Pdb) condition 1 j>0 (Pdb) break Num Type Disp Enb Where 1 breakpoint keep yes at .../pdb_break.py:9 stop only if j>0 (Pdb)
UPDATE
:私はimport pdb; pdb.set_trace()
for i in range(100):
print i
デバッグ端末にシンプルなコードを書いた -
$ python 1.py
> /code/python/1.py(3)<module>()
-> for i in range(100):
(Pdb) l
1
2 import pdb; pdb.set_trace()
3 -> for i in range(100):
4 print i
[EOF]
(Pdb) break 4, i==3
Breakpoint 1 at /code/python/1.py:4
(Pdb) break
Num Type Disp Enb Where
1 breakpoint keep yes at /code/python/1.py:4
stop only if i==3
(Pdb) c
0
1
2
> /Users/srikar/code/python/1.py(4)<module>()
-> print i
(Pdb) p i
3
関連する問題
- 1. ReSharperでAgent Smith検査を有効にすることは可能ですか?
- 2. コンパイル前に有効なHTMLとしてASP.NETページを有効にすることは可能です
- 3. VS2010でブレークポイントのマージンを有効にするには
- 4. IIS 7でプログラムによってメタベースの互換性を有効にすることは可能ですか?
- 5. bash_completionを有効にすることは可能ですか:!または:r! VIMで?
- 6. Pythonでレイズ後にステートメントを実行することは可能ですか?
- 7. UITouch - 複数のタッピングを無効にすることは可能ですか
- 8. アプリフォルダのドロップボックス通知を無効にすることは可能ですか
- 9. コンパイル後にアプリケーションのGUIを変更することは可能ですか?
- 10. 無効にした後に削除可能を有効にします
- 11. 標準フィールドを削除/無効にすることは可能ですか?
- 12. スクロール可能なコンソールを有効にするには?
- 13. プロジェクトがiosで作成されたときにコアデータを有効にすることができたら、コアデータを処理することは可能ですか?
- 14. リベース後に特定のファイルのみのマージ競合を解決することは可能ですか
- 15. ハスケルでの共有を検出することは可能ですか?
- 16. gitでLANでXcodeプロジェクトを共有することは可能ですか
- 17. update_itemにif_not_existsとlist_appendを組み合わせることは可能ですか
- 18. vncサーバの画面をクライアントと共有することは可能ですか?
- 19. ブレークポイントを有効にするとXCode7.3がクラッシュする
- 20. adminのdjangoのデータベース設定を無効にすることは可能です
- 21. Kinectペイントボタンに効果音を加えることは可能ですか?
- 22. 私は(ゴースト)ブレークポイントを無効にすることはできません
- 23. モデルにビューコードを含めることは有効ですか?
- 24. Androidマニフェストにコードを組み込む/インポートすることは可能ですか?
- 25. Weinreでは、iOS Webviewのデバッグ時にjavascriptブレークポイントを設定することが可能です
- 26. 特定のデータセットに対して複数の有効なBSTを持つことは可能ですか?
- 27. Javaスイングで無効にした後にボタンを有効にすることはできません
- 28. キュウリ - シナリオ間でテーブルを共有することは可能ですか?
- 29. Googleドライブでアプリケーションデータを共有することは可能ですか?
- 30. Java generics - Tをシリアライズ可能にすることは可能ですか?
には、このブレークポイントのヒット数を保持する変数、 'j'ではなく、そこにありますか? – zenpoy
'j'は現在のループ反復です。 「このブレークポイントのヒットカウント」はどういう意味ですか? –
ありがとう、私は答えを見つけた.. – zenpoy