Что нового

отслеживание вызова и возврата функции

RaZum

Знающий
Сообщения
78
Репутация
14
Для наглядного отслеживания вложенности переходов между функциями, написал функцию, которая добавляет отступ к строке лога при входе в очередную функцию, и уменьшает этот отступ при возврате из неё.
Вообщем в логе визуально видно глубину и количество переходов.
Вот только приходится эту функцию отладки проставлять в начале и в конце каждой функции кода, а также перед всеми возвратами.
Есть ли какие более простые способы отслеживаяния вызова и возврата функций ?
 

Oki

Продвинутый
Сообщения
452
Репутация
62
В любом случае нужен некоторый счёт порядка вложенности. Средства языка доступ к такому счёту не предоставляют, даже если внутри интерпретатора таковой ведётся. Вероятно, чуть проще не вызывать функцию добавления и удаления отступов, а вести инкрементируемый и декрементируемый счётчик вложенности, согласно значению которого формировать формат строк лога, но полностью освободить от простановки руками может лишь дополнительный скрипт, который эту ручную работу автоматизирует.
 

JohnWind

Новичок
Сообщения
57
Репутация
0
возможно не лучшая идея - введите Global переменную, занулите в начале, а внутри каждого модуля/функции которые вам надо счесть - введите инкрементацию... а если надо знать текущий уровень вложенности - на выходе из данных модулей/функций - декрементацию
 

Oki

Продвинутый
Сообщения
452
Репутация
62
возможно не лучшая идея - введите Global переменную, занулите в начале, а внутри каждого модуля/функции которые вам надо счесть - введите инкрементацию... а если надо знать текущий уровень вложенности - на выходе из данных модулей/функций - декрементацию
Чем это отличается от соответствующей части предыдущего комментария?
 
Верх