Как перейти от TraceBackFrame к ScriptSource - PullRequest
0 голосов
/ 31 января 2011

Я сейчас экспериментирую с облегченной отладкой через Python.SetTrace (). Но я не могу найти общий путь от параметров обратного вызова (TraceBackFrame stackFrame, string stEvent, полезной нагрузки объекта) к ScriptSource, содержащему код.

Я могу сопоставить ScriptSource, для которого я первоначально вызвал Execute (), путем сопоставления пути к файлу (либо ScriptSource.Path равен TraceBackFrame.f_code.co_filename, либо последний является «строкой», когда файл не задействован).

Но мой поиск любых ссылок, указывающих из TraceBackFrame на ScriptSource (который работает для других файлов python, выполняемых сценарием через import, exec, execfile и т. Д.), Не увенчался успехом.

Спасибо за любые подсказки!

1 Ответ

0 голосов
/ 11 ноября 2011

Только для справки. Наше текущее решение - самостоятельно анализировать исходные файлы, если файл доступен.Для стековых фреймов, не поддерживаемых файлом (например, eval), мы просто не можем отследить их.

...