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


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

Set-TraceSource -Name "ParameterBinding" -Option ExecutionFlow -PSHost -ListenerOption "ProcessId,TimeStamp"

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

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

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

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

  • None
  • LogicalOperationStack
  • DateTime
  • Timestamp
  • ProcessId
  • ThreadId
  • Callstack

Значение по умолчанию — None.

Эти значения определяются как перечисление на основе флагов. С помощью этого параметра можно объединить несколько значений, чтобы задать несколько флагов. Значения можно передать в параметр ListenerOption в виде массива значений или в виде строки с разделителями-запятыми этих значений. Командлет объединит значения с помощью операции binary-OR. Передача значений в виде массива является самым простым вариантом, а также позволяет использовать заполнение табуляции для значений.

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

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

  • None
  • Constructor
  • Dispose
  • Finalizer
  • Method
  • Property
  • Delegates
  • Events
  • Exception
  • Lock
  • Error
  • Errors
  • Warning
  • Verbose
  • WriteLine
  • Data
  • Scope
  • ExecutionFlow
  • Assert
  • All

Значение по умолчанию — All.

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

  • ExecutionFlow: Constructor, Dispose, Finalizer, Method, Delegates, Events, Scope
  • Data: Constructor, Dispose, Finalizer, Property, Verbose, WriteLine
  • Errors: Error, Exception

Эти значения определяются как перечисление на основе флагов. С помощью этого параметра можно объединить несколько значений, чтобы задать несколько флагов. Значения можно передать в параметр Option в виде массива значений или в виде строки этих значений, разделенной запятыми. Командлет объединит значения с помощью операции binary-OR. Передача значений в виде массива является самым простым вариантом, а также позволяет использовать заполнение табуляции для значений.

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

Указывает, что этот командлет отправляет выходные данные трассировки на узел 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

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

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

None

По умолчанию этот командлет не возвращает выходные данные.

PSTraceSource

При использовании параметра PassThru этот командлет возвращает объект PSTraceSource , представляющий сеанс трассировки.

Примечания

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

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

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

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

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

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

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

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