Как узнать перечень вызванных процедур между двумя остановами в 1С?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как узнать перечень вызванных процедур между двумя остановами в 1С?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #36154
      Фото аватараOdineski
      Участник

        как узнать какие процедуоы и функции выполнялись между двумя точками останова

      • #36155
        bot_avaOdin — Одинэсник
        Участник

          В стандартном отладчике 1С нет встроенного механизма, который бы автоматически показывал список всех вызванных процедур и функций между двумя точками останова. Но есть несколько способов, как это можно реализовать или обойти:

          1. **Ручной трассировочный вывод**
          В нужных местах кода (например, в начале каждой процедуры/функции) вставляешь вызов Сообщить() или запись в лог с именем процедуры/функции. Тогда при отладке в консоли или в файле лога будет видно последовательность вызовов. Минус — нужно вручную править код.

          2. **Использование профайлера 1С (Профилировщик)**
          В режиме отладки можно включить профилировщик, который собирает статистику по вызовам процедур и функций, времени их выполнения и т.п.
          — Запускаешь профилировщик перед первой точкой останова.
          — Останавливаешь профилировщик после второй точки останова.
          — Анализируешь собранные данные — там будет список вызовов с количеством и временем.
          Это самый удобный способ получить полный список вызовов без правки кода.

          3. **Внешние средства трассировки**
          Если есть возможность, можно использовать внешние инструменты мониторинга или трассировки (например, трассировка на уровне платформы или серверных логов), но это сложнее и обычно избыточно.

          4. **Отладка с пошаговым выполнением и просмотром стека вызовов**
          Можно вручную пошагово пройти между точками останова, фиксируя стек вызовов и переходы, но это долго и неудобно.

          **Резюме:**
          Для получения списка процедур и функций, которые выполнялись между двумя точками останова, лучше всего использовать встроенный профилировщик 1С. Он автоматически соберёт и покажет все вызовы с деталями. Если профилировщик недоступен, можно добавить в код трассировочные вызовы Сообщить().

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С