COM+ поддерживает автоматический сбор файлов дампа процесса и завершения процесса в Windows Server

Область применения: Windows SDK для Windows 10
Исходный номер базы знаний: 910904

Введение

Система регистрирует событие, когда компонент COM+ испытывает необычно высокое время вызова. Журнал событий идентифицирует компонент COM+, в котором возникла проблема. Кроме того, в журнале событий упоминается эта статья (910904). Система может быть настроена для выполнения одного или обоих следующих действий:

  • Автоматически соберите файл дампа процесса для анализа первопричин проблемы.
  • Завершите процесс, чтобы устранить проблему без вмешательства вручную.

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

Заданное по умолчанию поведение

Рассмотрим следующий сценарий.

  • Время вызова для компонента COM+ превышает 10 минут.
  • Вы открываете оснастку Microsoft Management Console (MMC) в службах компонентов, пока запущено приложение, в котором размещается этот долго работающий компонент COM+.

В этом сценарии в журнале приложений регистрируется следующее событие:

Event Type: information
Event Source Information: COM+
COM+ Event Category: (117)
Event ID: 782
Description: The average call duration exceeded 10 minutes.
If this is not the expected behavior, see Microsoft Knowledge Base Article 910904 in http://support.microsoft.com for detailed information about
how to use the COM+ AutoDump feature to automatically generate dump files and terminate the process if the problem recurs.
Server application ID: <YourAppID>
Server application instance ID: <YourAppInstanceID>
Server application name: <YourAppName>

Параметры конфигурации

Важно!

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

Систему можно настроить для выполнения одного или обоих следующих действий при обнаружении длительно работающего компонента COM+:

  • Автоматически соберите файл дампа процесса.

  • Завершите процесс.

    Для этого используйте следующие значения реестра:

    Value name Тип данных Описание Значение по умолчанию
    AverageCallThreshold REG_DWORD Пороговое значение в секундах, когда будут выполнены соответствующие действия 0
    DumpType REG_DWORD 0 = создать полный файл дампа; 1 = создание файла minidump; 2 = нет файла дампа 0
    Terminate REG_DWORD 0 = процесс продолжится; 1 = процесс будет завершен 0
  • Чтобы глобально определить действия для всех компонентов COM+ на компьютере, добавьте значения конфигурации в следующий раздел реестра:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3\AutoDump

  • Чтобы определить действия, выполняемые для определенного компонента COM+, независимо от глобальных параметров, добавьте значения конфигурации в следующий раздел реестра:
    HKEY_CLASSES_ROOT\AppId\{<YourAppID>}\AutoDump\{<YourCLSID>}

Рекомендации

В следующем содержимом показано, как проверка и проанализировать полные файлы дампа.

Сбор полных файлов дампа

Соберите полный файл дампа, когда компонент COM+ испытывает необычно большое время вызова. Например, создайте следующее одно значение реестра:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3\AutoDump AverageCallThreshold = 300

Дополнительные сведения о выборе подходящего AverageCallThreshold значения реестра для конкретной среды см. в разделе Рекомендации.

Аналогичным образом соберите полный файл дампа при возникновении необработанного исключения в приложении COM+. Для этого проверка поле Включить дамп образа при сбое приложения проверка на вкладке Дамп свойств каждого приложения COM+.

Анализ файлов дампа

Чтобы проанализировать файл дампа, выполните следующие действия.

  1. Скачайте и установите средство диагностики отладки (DebugDiag).

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

    1. Запустите приложение DebugDiag Analysis из меню Пуск .
    2. Выберите Параметры, а затем перейдите на вкладку Параметры .
    3. Убедитесь, что установлен флажок Microsoft Public Symbol Servers (Серверы общедоступных символов) в поле Путь поиска символов , а затем нажмите кнопку Назад.
    4. Выберите параметр Анализ по умолчанию \ CrashHangAnalysis .
    5. Выберите Добавить файлы данных.
    6. Выберите файлы дампа, которые нужно проанализировать.
    7. Выберите Начать анализ.

    Итоговый HTML-отчет отображается в новом окне Microsoft Internet Обозреватель на рабочем столе и сохраняется в каталоге DebugDiag Reports. Расположение по умолчанию для этого каталога — %USERPROFILE%\Documents\DebugDiag\Reports.

  3. Чтобы устранить проблему, следуйте указаниям, приведенным в разделе Рекомендации отчета. В этом разделе отчета могут быть рекомендованы следующие рекомендации:

    • Вы можете обратиться к статье базы знаний Майкрософт с описанием известных проблем.
    • Он может предоставить разработчикам приложения сведения, которые они могут использовать для внесения исправлений.
    • Может потребоваться обратиться к соответствующему поставщику или служба поддержки Майкрософт. При обращении к служба поддержки Майкрософт за дополнительной помощью предоставьте файл отчета, чтобы ускорить процесс анализа. Также может потребоваться полный файл дампа.

Рекомендации

Ниже приведены некоторые факторы, которые следует учитывать.

Значение реестра AverageCallThreshold

Значение 300 секунд является подходящим пороговым значением для большинства сред. Идеальное значение зависит от конкретной среды. Чтобы обеспечить выполнение действий как можно быстрее, но только при возникновении законной проблемы, выберите наименьшее возможное значение, превышенное только в проблемном сценарии.

Значение реестра TerminateProcess

Прекращение процесса при большом времени вызова может помочь компоненту COM+ автоматически восстановиться после определенных проблем. Это желательно в средах, где высокий уровень доступности важен. При использовании этой функции выберите соответствующее AverageCallThreshold значение реестра, чтобы избежать непреднамеренного завершения процесса.

Значение реестра DumpType

Файлы Minidump можно создавать быстрее и занимать меньше места на диске, чем файлы полного дампа. Однако они не так полезны для анализа проблем, так как в них часто отсутствуют необходимые данные. Типичный размер файлов полного дампа для процессаDllhost.exe составляет от 10 мб до 50 МБ. Их фактический размер зависит от размера рабочего набора дампа процесса. Обычно файлы создаются в течение нескольких секунд.

Параметры файла дампа

По умолчанию файлы дампа хранятся в каталоге %systemroot%\system32\com\dmp . Используйте параметры в поле Каталог дампа образов и в области Максимальное количество образов дампа для соответствующего приложения COM+, чтобы управлять расположением и количеством файлов дампа.

Время звонка

Время вызова для компонента COM+ — это среднее значение для всех экземпляров компонента COM+. Время вызова вычисляется системным приложением COM+ и отображается в столбце Время вызова (мс) представления состояния оснастки MMC служб компонентов.