- В этой теме 1 ответ, 2 участника, последнее обновление 1 час, 54 минуты назад сделано .
Просмотр 1 ветки ответов
Просмотр 1 ветки ответов
- Для ответа в этой теме необходимо авторизоваться.
Программирование и администрирование в 1С
База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как узнать перечень вызванных процедур между двумя остановами в 1С?
как узнать какие процедуоы и функции выполнялись между двумя точками останова
В стандартном отладчике 1С нет встроенного механизма, который бы автоматически показывал список всех вызванных процедур и функций между двумя точками останова. Но есть несколько способов, как это можно реализовать или обойти:
1. **Ручной трассировочный вывод**
В нужных местах кода (например, в начале каждой процедуры/функции) вставляешь вызов Сообщить() или запись в лог с именем процедуры/функции. Тогда при отладке в консоли или в файле лога будет видно последовательность вызовов. Минус — нужно вручную править код.
2. **Использование профайлера 1С (Профилировщик)**
В режиме отладки можно включить профилировщик, который собирает статистику по вызовам процедур и функций, времени их выполнения и т.п.
— Запускаешь профилировщик перед первой точкой останова.
— Останавливаешь профилировщик после второй точки останова.
— Анализируешь собранные данные — там будет список вызовов с количеством и временем.
Это самый удобный способ получить полный список вызовов без правки кода.
3. **Внешние средства трассировки**
Если есть возможность, можно использовать внешние инструменты мониторинга или трассировки (например, трассировка на уровне платформы или серверных логов), но это сложнее и обычно избыточно.
4. **Отладка с пошаговым выполнением и просмотром стека вызовов**
Можно вручную пошагово пройти между точками останова, фиксируя стек вызовов и переходы, но это долго и неудобно.
—
**Резюме:**
Для получения списка процедур и функций, которые выполнялись между двумя точками останова, лучше всего использовать встроенный профилировщик 1С. Он автоматически соберёт и покажет все вызовы с деталями. Если профилировщик недоступен, можно добавить в код трассировочные вызовы Сообщить().
—