Как автоматически отслеживать все вызовы функций и аргументы? ⇐ Python
Как автоматически отслеживать все вызовы функций и аргументы?
Для создания специализированного отладчика для моего кода я хотел бы отслеживать некоторые функции в моем коде и регистрировать аргументы, которые они получают при каждом вызове.
Мне хотелось бы иметь возможность сделать это, не добавляя строку кода к каждой функции или даже декоратор вокруг всех функций, а устанавливая трассировку для всего выполнения.
Это чем-то похоже на то, что вы можете сделать с помощью sys.settrace в модуле sys: https://docs.python.org/2/library/sys.html
за исключением того, что, насколько я могу судить, трассировка не включает аргументы функций.
Поэтому я хотел бы написать функцию, которая выглядит примерно так:
def tracing_func(func_name, args): если имя_функции в ['func', 'foo']: log_func_args (имя_функции, аргументы) где log_func_args записывает данные в файл для последующего анализа.
Затем установите эту функцию так, чтобы она вызывалась при каждом вызове любой функции в моем коде, с указанием имени и аргументов функции.
Можно ли это сделать?
Для создания специализированного отладчика для моего кода я хотел бы отслеживать некоторые функции в моем коде и регистрировать аргументы, которые они получают при каждом вызове.
Мне хотелось бы иметь возможность сделать это, не добавляя строку кода к каждой функции или даже декоратор вокруг всех функций, а устанавливая трассировку для всего выполнения.
Это чем-то похоже на то, что вы можете сделать с помощью sys.settrace в модуле sys: https://docs.python.org/2/library/sys.html
за исключением того, что, насколько я могу судить, трассировка не включает аргументы функций.
Поэтому я хотел бы написать функцию, которая выглядит примерно так:
def tracing_func(func_name, args): если имя_функции в ['func', 'foo']: log_func_args (имя_функции, аргументы) где log_func_args записывает данные в файл для последующего анализа.
Затем установите эту функцию так, чтобы она вызывалась при каждом вызове любой функции в моем коде, с указанием имени и аргументов функции.
Можно ли это сделать?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Можно ли отслеживать все вызовы метода с помощью Jasmine? [закрыто]
Anonymous » » в форуме Javascript - 0 Ответы
- 32 Просмотры
-
Последнее сообщение Anonymous
-