Поделиться через


Использование средств трассировки с VSS

Для сбора сведений трассировки для инфраструктуры VSS можно использовать средство VssTrace, средство Logman или средство Tracelog. VssTrace доступен в пакете SDK для Microsoft Windows и может использоваться для трассировки приложений VSS в Windows 7 и более поздних версиях операционной системы Windows. Logman — это контроллер трассировки для событий трассировки и счетчиков производительности; Его также можно использовать для трассировки приложений VSS в Windows 7 и более поздних версиях операционной системы Windows. Трассировка включается в комплект драйверов Windows (WDK).

Сведения об использовании средств трассировки с автоматизированным восстановлением системы (ASR) см. в статье "Использование средств трассировки с приложениями ASR".

Примечание.

VssTrace, Logman и Tracelog требуют прав администратора.

 

Сведения о каждом инструменте см. в следующих разделах:

Использование VssTrace

Чтобы запустить средство VssTrace из командной строки, используйте следующий синтаксис:

параметры командной строки vsstrace

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

vsstrace -help

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

vsstrace -help all

Параметры командной строки VssTrace

Средство VssTrace использует следующие параметры командной строки:

-f Флаги

Включите модули, флаги которых задаются битовой маской флагов . Каждый флаг соответствует модулю VSS. Если флаги равны нулю, модули не включены. Обратите внимание, что большинство модулей включены по умолчанию. Этот параметр можно сочетать с параметром модуля **+*. Например, vsstrace -f 0 +WRITER +COORD отключает трассировку всех модулей, включенных по умолчанию, и включает трассировку средств записи VSS и службы VSS. Кроме того, vsstrace +f 0xffff -COORD обеспечивает трассировку всех модулей, кроме службы VSS.

Примечание.

Если вы используете параметр -f вместе с параметром модуля **+**, перед параметром модуля **+**необходимо появиться f.

 

В следующей таблице перечислены имя и флаг модуля для каждого доступного модуля.

Модуль Флаг Включено по умолчанию Элементы трассировки
ИСКЛЮЧЕНИЯ 0x00000001 Да Обработка исключений C++.
COORD 0x00000002 Да Служба VSS, которая также называется координатором VSS.
SWPRV 0x00000004 Да Служба поставщика теневого копирования системы VSS.
BUCOMP 0x00000008 Да Запрашиватель VSS и обработка метаданных резервных копий.
WRITER. 0x00000010 Да Операции записи VSS и реализации размещенного средства записи VSS, такие как модуль записи реестра Windows.
VSSAPI 0x00000020 Да Другие функции API VSS, экспортированные VSSAPI.DLL.
HWDIAG 0x00000040 Да Инфраструктура и операции поставщика оборудования VSS.
АДМИНИСТРАТОР 0x00000080 Да Служебные программы командной строки VSS, такие как VSSADMIN.EXE и DISKSHADOW.EXE.
VSSUI 0x00000100 Да Теневые копии для пользовательского интерфейса конфигурации общих папок. Пользовательский интерфейс доступен только в операционных системах Windows Server.
ТЕСТ 0x00000200 Да Неприменимо. (Этот модуль трассировки зарезервирован.)
IOCTL 0x00000400 Да Сведения об операциях FSCTL и IOCTL, инициированных службой VSS путем вызова функции DeviceIoControl.
GEN 0x00000800 Да Общие служебные функции VSS, такие как распределители, строковые классы и операции реестра и томов.
WRXML 0x00001000 No ОБРАБОТКА XML для метаданных записи. Этот модуль имеет очень высокий уровень шума.
VSSXML 0x00002000 No Базовые классы обработки XML. Этот модуль имеет очень высокий уровень шума.

 

**+**Модуль

Включите модуль, указанный модулем. Одновременно можно включить несколько модулей. Чтобы получить список доступных модулей, введите модули vsstrace —help в командной строке.

-Модуль

Отключите модуль, указанный модулем. Чтобы получить список доступных модулей, введите модули vsstrace —help в командной строке.

+pid ProcessId

Включите процесс, указанный ProcessId. Чтобы включить все процессы, используйте "*" для значения ProcessId. Одновременно можно указать несколько параметров pid. Порядок параметров определяет, какие процессы включены или отключены. Например, чтобы включить только процесс, идентификатор процесса которого 0xe8c, используйте vsstrace -pid * +pid 0xe8c.

-pid ProcessId

Отключите процесс, указанный ProcessId. Чтобы отключить все процессы, используйте "*" для значения ProcessId. Одновременно можно указать несколько параметров pid. Порядок параметров определяет, какие процессы включены или отключены. Например, чтобы отключить все процессы, кроме процесса, идентификатор процесса которого 0xe8c, используйте vsstrace -pid * +pid 0xe8c.

+tid ThreadId

Включите поток, указанный ThreadId. Чтобы включить все потоки, используйте "*" для значения ThreadId. За раз можно указать несколько активных параметров. Порядок параметров определяет, какие потоки включены или отключены. Например, чтобы включить только поток, идентификатор процесса которого 0x31a, используйте vsstrace -tid * +tid 0x31a.

-tid ThreadId

Отключите поток, указанный ThreadId. Чтобы отключить все потоки, используйте "*" для значения ThreadId. За раз можно указать несколько активных параметров. Порядок параметров определяет, какие потоки включены или отключены. Например, чтобы отключить все потоки, кроме потока, идентификатор процесса которого 0x31a, используйте vsstrace -tid * +tid 0x31a.

-l Уровень

Используйте уровень трассировки, указанный на уровне. Чем выше уровень, тем более подробные выходные данные трассировки. Каждый уровень включает все более низкие уровни. Уровень по умолчанию — 170. Доступны следующие уровни.

Уровень Сведения, включенные в выходные данные трассировки
000 нет
020 Неустранимые ошибки
030 необработанных исключений.
040 ошибки
050 Проверочные утверждения
060 Предупреждения
080 Обработка исключений
100 Действие журнала событий
120 Общая информация
140 поток кода.
160 Ввод и выход функции
170 Возвращаемые значения функции
180 Параметры функции (terse)
190 Параметры функции (подробные)
200 Подробные сведения уровня 1
210 Подробные сведения уровня 2
220 Подробные сведения уровня 3
230 Быстрый уровень кода 1
240 Быстрый уровень кода 2
250 Быстрый уровень кода 3
255 Все

 

+отступ

Отступ отформатированных выходных данных трассировки на каждой функции и границе подфункций.

-отступ

Не отступайте отформатированные выходные данные трассировки.

-etl EtlFile

Преобразуйте выходной файл Logman, указанный EtlFile , в доступный для чтения текстовый формат.

-o OutputFile

Сохраните сведения трассировки в выходной файл, указанный OutputFile. Для повышения производительности выходной файл должен находиться на томе, который не входит в теневое копирование.

-help HelpOption

Отображение справки командной строки, указанной в HelpOption. Допустимые значения HelpOption — это модули, уровни и все. Указание модулей приводит к перечислению модулей. Указание уровней приводит к тому, что доступные уровни будут перечислены. Указание всех причин отображения подробной справки. Если параметры не используются, отображается краткая справка.

Использование Logman

В следующей процедуре описывается использование Logman с приложением VSS.

Использование Logman с приложением VSS

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

    logman start vss -o *x:\*vss.etl -ets -p {9138500e-3648-4edb-aa4c-859e9e9f7b7c38} 0xfff 170

    Примечание.

    Замените "x:\" путем к каталогу, в котором должен храниться файл журнала трассировки.

     

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

    logman stop vss -ets

Файл журнала трассировки — *x:\*vss.etl.

Дополнительные сведения о средстве Logman см. в разделе Logman.

Использование tracelog

В следующей процедуре описывается использование tracelog.

Использование tracelog

  1. Создайте текстовый файл с именем vss.ctl, содержащий только следующий текст:

    9138500e-3648-4edb-aa4c-859e9e9f7b7c38 vss

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

    tracelog -start vss -f *x:\*vss.etl -guid vss.ctl -flag 0xff -level 0xaa

    Примечание.

    Замените "x:\" путем к каталогу, в котором должен храниться файл журнала трассировки.

     

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

    tracelog -stop vss

Файл журнала трассировки — *x:\*vss.etl.

Дополнительные сведения о средстве Tracelog см. в разделе Tracelog.