Основная страницаРабота с отладчиком


 

Особенности вычисления выражений в Отладчике

Выражения, задаваемые в окне Табло Отладчика системы 1С:Предприятие вычисляются на каждом шаге работы Отладчика. Это означает, что вычисления выполняются каждый раз как только управление передается от отлаживаемого экземпляра 1С:Предприятия Отладчику. При этом вычисления выполняются не самим Отладчиком, а отлаживаемым экземпляром 1С:Предприятия. В отличие от многих других систем Отладчик системы 1С:Предприятие позволяет вычислять выражения, ничем не отличающиеся от выражений, которые могут использоваться в модулях. И здесь имеется определенная опасность, связанная с использованием в вычисляемых Отладчиком выражениях функций, имеющих побочное действие. Использование таких функций в выражениях, вычисляемых в Табло, способно дезорганизовать работу отлаживаемого экземпляра системы 1С:Предприятие и сделать сам процесс отладки бессмысленным. Например, если в процессе отладки алгоритма обхода строк документа вывести в табло или просто вычислить выражение, включающее вызов функции "ПолучитьСтроку", то само обращение к этой функции в отладчике вызовет дополнительный пропуск строки, что, разумеется, скажется на выполнении алгоритма. Таким образом, в вычисляемых выражениях в отладчике не следует использовать функций, которые не только возвращают значение, но и выполняют какие-либо действия.

Использование режима "Замер производительности" для отладки модулей

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

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

   Разумеется, исследование процесса выполнения модуля с помощью пошагового выполнения в Отладчике также может помочь понять в какие потаенные места заходил поток управления при выполнении модуля, но при этом сложно посчитать число раз, которое выполнялся каждый отдельный оператор и, кроме того, режим "Замер производительности" позволяет получить указанную информацию с относительно небольшими временными

затратами.

Сохранение результатов замера производительности

Режим "Замер производительности" является одним из самых эффективных способов отладки конфигураций, работающих в реальных условиях. В некоторых случаях весьма полезной  может оказаться возможность сохранения результатов замера производительности.

Обычно сохранение результатов применяется до того, чтобы сравнить результаты работы различных вариантов алгоритма или вернуться к рассмотрению результатов позже.

Кроме того, этот режим позволяет специалисту, разрабатывающему конфигурацию, обеспечить анализ ситуаций возникающих у пользователей в его отсутствие. Администратор системы или ответственный пользователь может выполнять замер производительности и записывать его в файл (меню "Файл - Сохранить") для последующего анализа разработчиком. Такая практика может применяться как для анализа случаев медленной работы отдельных алгоритмов, так и для "трассировки" работы модулей при анализе ошибочных ситуаций (получения списка строк в которые попадало управление).

Кроме сохранения результатов замера производительности в специальном файле с расширением "pff", который открывается в режиме запуска "Отладчик" (меню "Файл - Открыть"), результаты замера могут быть записаны и в текстовом виде. Для этого следует выделить несколько строк или все строки в окне показа результатов замера и выполнить сохранение в буфере обмена Windows с помощью пункта "Запомнить" в меню "Действия" или контекстном меню. Строки замера производительности запоминаются в буфере обмена в текстовом формате и могут быть вставлены в любой текстовый файл. Это позволяет выполнять анализ результатов замера и без запуска 1С:Предприятия.

Анализ результатов замера производительности

   При оптимизации конфигураций работающих в разделенном режиме на первый план выступает задача минимизации времени доступа к данным информационной базы. В этом существенную помощь оказывает использование режима "Замер производительности".

   Обращение к информационной базе выполняется в алгоритмах вызовами определенных методов объектов встроенного языка 1С:Предприятия. При просмотре результатов замера для анализа времени доступа к информационной  базе рекомендуется отключать флажок "Для вызовов процедур и функций включать время выполнения". Если флажок выключен, то при установленной сортировке по времени работы на "первый план", как правило,  выходят строки выполняющие обращение к информационной базе. Это позволяет достаточно быстро оценить возможные пути оптимизации алгоритма, например, устранение дублирующихся обращений или применение более производительных средств.

   Использование выделения отдельных строк или групп строк в окне просмотра результатов замера позволяет просуммировать выполнение отдельных операторов, и получить наиболее точную картину соотношения влияния различных фрагментов алгоритма на общее время выполнения.

Просмотр в отладчике значений типа "СписокЗначений" и "ТаблицаЗначений"

В некоторых случаях в процессе отладки необходимо просмотреть содержимое объектов типа "СписокЗначений" или "ТаблицаЗначений". Специальных средств в Отладчике системы 1С:Предприятие для этого не существует. Разумеется, можно с помощью вызова метода "ПолучитьЗначение" просматривать отдельные значения, но это не всегда удобно. В качестве решения этой задачи можно использовать в Отладчике при вычислении выражения методов "ВыбратьЗначение" и "ВыбратьСтроку". При вызове этих методов в самом отлаживаемом экземпляре 1С:Предприятия выдается диалог, содержащий соответственно список значений или таблицу значений. Разумеется, для его просмотра следует переключиться в 1С:Предприятие, а после просмотра закрыть диалог и переключиться обратно в Отладчик.






Рекомендации по конфигурированию и администрированию