Set-TraceSource

Настраивает, запускает и останавливает трассировку компонентов PowerShell.

Синтаксис

Set-TraceSource
   [-Name] <String[]>
   [[-Option] <PSTraceSourceOptions>]
   [-ListenerOption <TraceOptions>]
   [-FilePath <String>]
   [-Force]
   [-Debugger]
   [-PSHost]
   [-PassThru]
   [<CommonParameters>]
Set-TraceSource
   [-Name] <String[]>
   [-RemoveListener <String[]>]
   [<CommonParameters>]
Set-TraceSource
   [-Name] <String[]>
   [-RemoveFileListener <String[]>]
   [<CommonParameters>]

Описание

Командлет Set-TraceSource настраивает, запускает и останавливает трассировку компонента PowerShell. С его помощью можно указать, какие компоненты следует трассировать и куда нужно отправить результат трассировки.

Примеры

Пример 1. Трассировка компонента ParameterBinding

PS C:\> Set-TraceSource -Name "ParameterBinding" -Option ExecutionFlow -PSHost -ListenerOption "ProcessId,TimeStamp"

Эта команда запускает трассировку компонента ParameterBinding в PowerShell. Он использует параметр Name для указания источника трассировки, параметра Option для выбора событий трассировки ExecutionFlow и параметра PSHost для выбора прослушивателя узла PowerShell, который отправляет выходные данные в консоль. Параметр ListenerOption добавляет значения ProcessID и TimeStamp в префикс сообщения трассировки.

Пример 2. Остановка трассировки

PS C:\> Set-TraceSource -Name "ParameterBinding" -RemoveListener "Host"

Эта команда останавливает трассировку компонента ParameterBinding PowerShell. Он использует параметр Name для идентификации отслеживаемого компонента и параметра RemoveListener для идентификации прослушивателя трассировки.

Параметры

-Debugger

Указывает, что командлет отправляет выходные данные трассировки отладчику. Выходные данные можно просмотреть в любом отладчике, работающем в пользовательском режиме или в режиме ядра, либо в Microsoft Visual Studio. Данный параметр также определяет прослушиватель трассировки по умолчанию.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FilePath

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

Type:String
Aliases:PSPath, Path
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Указывает, что командлет перезаписывает файл только для чтения. Используется с параметром FilePath .

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ListenerOption

Указывает необязательные данные для префикса каждого сообщения трассировки в выходных данных. Допустимые значения для этого параметра:

  • Нет
  • LogicalOperationStack
  • Дата и время
  • Отметка времени
  • ProcessId
  • ThreadId
  • Вызовы

По умолчанию используется значение Нет.

Чтобы указать несколько параметров, разделите их запятыми без пробелов и заключите в кавычки, например так: "ProcessID,ThreadID".

Type:TraceOptions
Accepted values:None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

Указывает, какие компоненты трассируются. Введите имя источника трассировки для каждого компонента. Разрешено использовать подстановочные знаки.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-Option

Указывает тип отслеживаемых событий. Допустимые значения для этого параметра:

  • Нет
  • Конструктор
  • Dispose
  • Метод завершения
  • Метод
  • Свойство
  • Делегаты
  • События
  • Исключение
  • Блокировка
  • Ошибка
  • ошибки
  • Предупреждение
  • Подробный
  • WriteLine
  • Данные
  • Область
  • ExecutionFlow
  • Assert
  • Все

По умолчанию используется значение All.

Следующие значения являются комбинацией других значений:

  • ExecutionFlow: (Конструктор, Dispose, Finalizer, Method, Delegates, Events и Scope)
  • Данные: (конструктор, dispose, Finalizer, Property, Verbose и WriteLine)
  • Ошибки: (ошибка и исключение).

Чтобы указать несколько параметров, разделите их запятыми без пробелов и заключите в кавычки, например так: "Constructor,Dispose".

Type:PSTraceSourceOptions
Accepted values:None, Constructor, Dispose, Finalizer, Method, Property, Delegates, Events, Exception, Lock, Error, Errors, Warning, Verbose, WriteLine, Data, Scope, ExecutionFlow, Assert, All
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

Возвращает объект, представляющий элемент, с которым вы работаете. По умолчанию этот командлет не создает выходные данные.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PSHost

Ndicates, что этот командлет отправляет выходные данные трассировки на узел PowerShell. Данный параметр также определяет прослушиватель трассировки PSHost.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RemoveFileListener

Прекращает трассировку, удаляя прослушиватель трассировки, связанный с указанным файлом. Введите путь и имя выходного файла трассировки.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RemoveListener

Прекращает трассировку, удаляя прослушиватель трассировки.

Используйте следующие значения с RemoveListener:

  • Чтобы удалить PSHost (консоль), введите Host.
  • Чтобы удалить отладчик, введите Debug.
  • Чтобы удалить все прослушиватели трассировки, введите *.

Чтобы удалить прослушиватель трассировки файла, используйте параметр RemoveFileListener .

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Входные данные

String

Строку, содержащую имя, можно передать в Set-TraceSource.

Выходные данные

None or System.Management.Automation.PSTraceSource

При использовании параметра PassThruSet-TraceSource создает объект System.Management.Automation.PSTraceSource , представляющий сеанс трассировки. В противном случае командлет не формирует никаких выходных данных.

Примечания

  • Трассировка — это метод, применяемый разработчиками для отладки и изменения программы. Во время трассировки программа создает подробные сообщения о каждом шаге внутренней обработки.

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

    Источник трассировки — это часть каждого компонента PowerShell, который управляет трассировкой и создает сообщения трассировки для компонента. Чтобы выполнить трассировку компонента, указать определить его источник трассировки.

    Прослушиватель трассировки получает выходные данные трассировки и отображает его пользователю. Вы можете отправить данные трассировки в отладчик пользовательского режима или в режим ядра, в консоль, в файл или в пользовательский прослушиватель, производный от класса System.Diagnostics.TraceListener .

  • Чтобы запустить трассировку, используйте параметр Name , чтобы указать источник трассировки и параметры FilePath, Debugger или PSHost , чтобы указать прослушиватель (назначение для выходных данных). Используйте параметр Options , чтобы определить типы отслеживаемых событий и параметр ListenerOption для настройки выходных данных трассировки.

  • Чтобы изменить конфигурацию трассировки, введите команду Set-TraceSource , как вы хотите запустить трассировку. PowerShell распознает, что источник трассировки уже отслеживается. Она остановит трассировку, добавит новую конфигурацию и запустит или перезапустит трассировку.

  • Чтобы остановить трассировку, используйте параметр RemoveListener . Чтобы остановить трассировку, использующую прослушиватель файлов (трассировку, запущенную с помощью параметра FilePath ), используйте параметр RemoveFileListener . При удалении прослушивателя трассировка останавливается.

  • Чтобы определить, какие компоненты можно трассировать, используйте командлет Get-TraceSource. Источники трассировки для каждого модуля загружаются автоматически при использовании компонента и отображаются в выходных данных Get-TraceSource.