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


Пример 11. Запуск закрытого сеанса трассировки

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

tracelog -start MyTrace -guid MyProvider.guid -um

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

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

Так как эта функция использует поставщик, встроенный в Windows, эта команда задает отслеживаемый процесс (с помощью идентификатора процесса), а не поставщика (с помощью GUID), который создает сообщения трассировки.

Эта команда использует параметр -um для указания частного сеанса трассировки (в пользовательском режиме) и параметр -heap для указания трассировки памяти кучи. Он использует параметр -pids для указания идентификатора процесса для трассировки. В этом случае команда включает один процесс с идентификатором 7008.

Команда также использует необязательный параметр -f для указания файла журнала трассировки. Параметр -f содержится для напоминания о том, что для настройки сеанса трассировки можно использовать большинство других параметров tracelog.

tracelog -start MyTrace -um -heap -pids 1 7008 -f testtrace.etl

Средство ведения журнала процессов критически важных разделов. Следующая команда запускает средство ведения журнала критических разделов, частный сеанс, который отслеживает события критического раздела в процессе. Эта команда использует поставщика (определяемого идентификатором GUID CritsecGUID), который входит в состав Windows, поэтому его можно использовать в любом процессе пользовательского режима, даже в том, который не инструментирован для трассировки.

Синтаксис команды идентичен синтаксису для средства ведения журнала процессов памяти кучи, за исключением того, что вместо параметра -heap используется параметр -critsec.

В этом примере команда запускает средство ведения журнала процессов критически важных разделов для двух связанных процессов. Таким образом, значение переменной #PIDs равно 2, и указаны идентификаторы процессов 4806 и 5164 .

tracelog -start MyTrace -um -critsec -pids 2 4806 5164 -f testtrace.etl