0

私は現在、Python.SetTrace()を介した軽量デバッグを実験しています。しかし、コールバックパラメーター(TraceBackFrame stackFrame、文字列stEvent、オブジェクトペイロード)からコードを含むScriptSourceへの一般的な方法を見つけることができません。

ファイルパスを照合することで、最初にExecute()を呼び出したScriptSourceにマップできます(ScriptSource.PathがTraceBackFrame.f_code.co_filenameと等しいか、ファイルが含まれていない場合は後者は「文字列」です)。

しかし、TraceBackFrameからScriptSource(import、exec、execfileなどを介してスクリプトによって実行される他のPythonファイルで機能する)を指す参照を検索しても成功しませんでした。

ヒントをありがとう!

4

1 に答える 1

0

念のために言っておきますが、現在の解決策は、ファイルが利用可能な場合は、ソースファイルを独自に解析することです。ファイルに裏打ちされていないスタックフレーム(evalなど)の場合、それらをトレースすることはできません。

于 2011-11-11T15:57:21.437 に答える