私はPython 2.6.6を使用していて、pdbを使ってPythonプログラムをデバッグしていますが、 "next"と " 〜までpdb、それは両方の現在の関数の次の行まで実行を続けると思われる。pdbの "next"と "until"の違いは何ですか
5
A
答えて
3
PDBヘルプドキュメントは、それをこのように説明します
違いを示し(Pdb) help next
n(ext)
Continue execution until the next line in the current function
is reached or it returns.
(Pdb) help until
unt(il)
Continue execution until the line with a number greater than the current
one is reached or until the current frame returns
より親切
、Doug Hellman gives an example in his Python Module Tutorial of the Week:
ザ・それが明示的に実行されるまで リーチを続け以外のコマンドは、次のようになるまで現在の 値よりも高い行番号を持つ同じ関数内の行。つまり、untilはuntilを使用してループの末尾にある を終了することができます。
pdb_next.py
import pdb
def calc(i, n):
j = i * n
return j
def f(n):
for i in range(n):
j = calc(i, n)
print i, j
return
if __name__ == '__main__':
pdb.set_trace()
f(5)
$ python pdb_next.py
> .../pdb_next.py(21)<module>()
-> f(5)
(Pdb) step
--Call--
> .../pdb_next.py(13)f()
-> def f(n):
(Pdb) step
> .../pdb_next.py(14)f()
-> for i in range(n):
(Pdb) step
> .../pdb_next.py(15)f()
-> j = calc(i, n)
(Pdb) next
> .../pdb_next.py(16)f()
-> print i, j
(Pdb) until
0 0
1 5
2 10
3 15
4 20
> .../pdb_next.py(17)f()
-> return
(Pdb)
実行されるまで前に、現在の行は16、 ループの最後の行でした。実行された後、実行は17行目にあり、ループは になっていました。
until
の目的はeponymous gdb commandと共有されている:
現在のスタックフレームで、現在の行過去ソース線まで実行を継続し、達して
まで。このコマンドは、単一のループを複数回ステップ実行しないようにするために使用します。これは次のコマンド のようなものですが、untilがジャンプすると、プログラムカウンタが ジャンプのアドレスよりも大きくなるまで、自動的に の実行を継続します。これは、単一の が実行された後にループの最後に到達したときまで、untilはループを終了するまで までプログラムを実行し続けることを意味します。これとは対照的に、ループの最後の次のコマンド は、ループの先頭に戻り、次の繰り返しを実行します。
関連する問題
- 1. expressjs app.VERB呼び出しのnext()とnext( 'route')の違いは何ですか?
- 2. Bashの "while"と "until"の違い
- 3. PDBファイルとは何ですか?
- 4. difftimeと ' - 'の違いは何ですか?
- 5. A`と ``の違いは何ですか[:] `
- 6. `&`と `ref`の違いは何ですか?
- 7. バックスティックと$()の違いは何ですか?
- 8. `##`と `hashCode`の違いは何ですか?
- 9. "$^N"と "$ +"の違いは何ですか?
- 10. #{} $ {}と%{}の違いは何ですか?
- 11. typedefとの違いは何ですか?
- 12. %Qと%{}の違いは何ですか?
- 13. `==`と `is`の違いは何ですか?
- 14. $と$$の違いは何ですか?
- 15. NodeJS:「./ ..」と「..」の違いは何ですか?
- 16. 繰り返しクラスのnext()メソッドと__next __()は何の違いがありますか?
- 17. リストと何か([_])と何か(_)の違い
- 18. TextMateではFind Nextのキーボードショートカットは何ですか?
- 19. libspeとlibspe2?違いは何ですか?
- 20. Backbone.jsとPusherapp - 違いは何ですか?
- 21. $ dirtyと$ invalid:違いは何ですか?
- 22. GoogleのDremelとは何ですか? Mapreduceとの違いは?
- 23. decodeURIComponentとunescapeの違いは何ですか?unescapeの問題は何ですか?
- 24. コロンの配置の違いは何ですか:何かと何か:
- 25. Androidでは、MotionEventのgetAction()とgetActionMasked()の違いは何ですか?
- 26. 「アソシエーション」と「リレーション」という用語の違いは何ですか?
- 27. Reduxミドルウェアのディスパッチとネクストの違いは何ですか?
- 28. 重要な違いは何ですかext2-ext3とext3-ext4の違いは何ですか?
- 29. グロムとは何ですか? mapPartitionsとの違いは?
- 30. nHibernateのICriteriaとICriterionの違いと利点は何ですか?