テスト用の新しいコードを展開するときに呼び出すことができるツールを構築したいと考えています。このツールは、実行のすべての行をキャプチャして評価し、それらをファイルに出力して、実行が終了した後もトレースしてデバッグできるようにします。これは、コードのすべての行の戻り値を評価し、そのコード行とその行の戻り値を別の列に出力するデバッガーと考えてください。これは、コードも実行しているためです。例えば:
Timestamp File-Line Source Code Debug Watcher
---------------- --------- ------------------------------- -----------------
20130109-10:18AM test.py-1 import mathy
20130109-10:18AM test.py-2 x = 1 # inline comments return: x:1
20130109-10:18AM test.py-3 ans = divide(x,2) call: math_functions.py-55:divide(dividend:1, divisor:2)
20130109-10:18AM mathy.py-56 return divedend / divisor divide() function return: 0.5
20130109-10:18AM test.py-4 print "Got %d"%ans call: print : "Got 0.5"
etc...
実行が別々の関数やファイルなどを移動するときに、実行を追跡する方法がわかりますか? これにより、大量のログ データが生成される可能性があるため、制限サイズにクリップされる可能性があります。また、辞書や配列などの大きなデータ構造をパントし、それらを処理する特殊なケースをいくつか作成する必要があります。
トレースバックを使用する前にこのようなものを作成しましたが、まったく正しく機能しませんでした。もっと洗練されたものがすでに存在するのではないかと思っています。そうでない場合、どのようにしますか?ありがとう。