다음을 통해 공유


Trace-Command

지정된 식 또는 명령의 추적을 구성하고 시작합니다.

구문

Trace-Command
     [-Name] <String[]>
     [-Expression] <ScriptBlock>
     [[-Option] <PSTraceSourceOptions>]
     [-InputObject <PSObject>]
     [-ListenerOption <TraceOptions>]
     [-FilePath <String>]
     [-Force]
     [-Debugger]
     [-PSHost]
     [<CommonParameters>]
Trace-Command
     [-Name] <String[]>
     [-Command] <String>
     [[-Option] <PSTraceSourceOptions>]
     [-InputObject <PSObject>]
     [-ArgumentList <Object[]>]
     [-ListenerOption <TraceOptions>]
     [-FilePath <String>]
     [-Force]
     [-Debugger]
     [-PSHost]
     [<CommonParameters>]

Description

Trace-Command cmdlet은 지정된 식 또는 명령의 추적을 구성하고 시작합니다. 지정된 명령에만 적용된다는 점을 제외하고 Set-TraceSource와 같이 작동합니다.

예제

예제 1: 추적 메타데이터 처리, 매개 변수 바인딩 및 식

PS C:\> Trace-Command -Name metadata,parameterbinding,cmdlet -Expression {Get-Process Notepad} -PSHost

이 명령은 메타데이터 처리, 매개 변수 바인딩 및 cmdlet 생성 및 Get-Process Notepad 식의 소멸 추적을 시작합니다. Name 매개 변수를 사용하여 추적 원본을 지정하고, Expression 매개 변수를 사용하여 명령을 지정하고, PSHost 매개 변수를 사용하여 출력을 콘솔로 보냅니다. 추적 옵션 또는 수신기 옵션을 지정하지 않으므로 이 명령은 추적 옵션에 대해 모두, 수신기 옵션에는 없음이라는 기본값을 사용합니다.

예제 2: ParameterBinding 작업의 작업 추적

PS C:\> $A = "i*"
PS C:\> Trace-Command ParameterBinding {Get-Alias $Input} -PSHost -InputObject $A

이러한 명령은 파이프라인에서 입력을 가져오는 Get-Alias 식을 처리하는 동안 Windows PowerShell의 ParameterBinding 작업의 작업을 추적합니다.

Trace-CommandInputObject 매개 변수는 추적 중에 처리되는 식에 개체를 전달합니다.

첫 번째 명령은 문자열 "i*"를 $A 변수에 저장합니다. 두 번째 명령은 Trace-Command cmdlet을 ParameterBinding 추적 원본과 함께 사용합니다. PSHost 매개 변수는 출력을 콘솔로 보냅니다.

처리되는 식은 Get-Alias $Input, 여기서 $Input 변수는 InputObject 매개 변수와 연결됩니다. InputObject 매개 변수는 변수 $A 식에 전달합니다. 실제로 추적 중에 처리되는 명령은 Get-Alias -InputObject $A" or "$A | Get-Alias.

매개 변수

-ArgumentList

추적 중인 명령에 대한 매개 변수 및 매개 변수 값을 지정합니다. ArgumentList 별칭은 인수. 이 기능은 동적 매개 변수를 디버깅하는 데 특히 유용합니다.

형식:Object[]
별칭:Args
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Command

추적 중에 처리되는 명령을 지정합니다.

형식:String
Position:1
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Debugger

cmdlet이 추적 출력을 디버거로 보내도록 나타냅니다. 모든 사용자 모드 또는 커널 모드 디버거 또는 Visual Studio에서 출력을 볼 수 있습니다. 이 매개 변수는 기본 추적 수신기도 선택합니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Expression

추적 중에 처리되는 식을 지정합니다. 식을 중괄호({})로 묶습니다.

형식:ScriptBlock
Position:1
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-FilePath

cmdlet이 추적 출력을 보내는 파일을 지정합니다. 또한 이 매개 변수는 파일 추적 수신기를 선택합니다.

형식:String
별칭:PSPath
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Force

사용자 확인을 요청하지 않고 명령을 강제로 실행합니다. FilePath 매개 변수와 함께 사용됩니다. Force 매개 변수를 사용하더라도 cmdlet은 보안 제한을 재정의할 수 없습니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-InputObject

추적 중에 처리되는 식에 대한 입력을 지정합니다.

식에서 허용하는 입력을 나타내는 변수를 입력하거나 파이프라인을 통해 개체를 전달할 수 있습니다.

형식:PSObject
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-ListenerOption

출력에 있는 각 추적 메시지의 접두사에 대한 선택적 데이터를 지정합니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.

  • 없음
  • LogicalOperationStack
  • DateTime
  • 타임 스탬프
  • ProcessId
  • ThreadId
  • Callstack

기본값은 없음입니다.

여러 옵션을 지정하려면 공백 없이 쉼표로 구분하고 "ProcessID,ThreadID"와 같은 따옴표로 묶습니다.

형식:TraceOptions
허용되는 값:None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Name

추적되는 Windows PowerShell 구성 요소의 배열을 지정합니다. 각 구성 요소의 추적 원본 이름을 입력합니다. 와일드카드가 허용됩니다. 컴퓨터에서 추적 원본을 찾으려면 Get-TraceSource입력합니다.

형식:String[]
Position:0
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Option

추적되는 이벤트의 형식을 지정합니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.

  • 없음
  • 생성자
  • 삭제
  • 종료자
  • 메서드
  • 재산
  • 대리자
  • 이벤트
  • 예외
  • 자물쇠
  • 오류
  • 오류
  • 경고
  • 자세한
  • WriteLine
  • 데이터
  • 범위
  • ExecutionFlow
  • 주장하다
  • 모두

모두 기본값입니다.

다음 값은 다른 값의 조합입니다.

  • ExecutionFlow: (생성자, Dispose, Finalizer, 메서드, 대리자, 이벤트 및 범위)
  • 데이터: (생성자, Dispose, Finalizer, Property, Verbose 및 WriteLine)
  • 오류: (오류 및 예외).

여러 옵션을 지정하려면 공백 없이 쉼표로 구분하고 "생성자,삭제"와 같은 따옴표로 묶습니다.

형식:PSTraceSourceOptions
허용되는 값:None, Constructor, Dispose, Finalizer, Method, Property, Delegates, Events, Exception, Lock, Error, Errors, Warning, Verbose, WriteLine, Data, Scope, ExecutionFlow, Assert, All
Position:2
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-PSHost

cmdlet이 추적 출력을 Windows PowerShell 호스트로 보내도록 나타냅니다. 이 매개 변수는 PSHost 추적 수신기도 선택합니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

PSObject

입력을 나타내는 개체를 식에 파이프하여 Trace-Command수 있습니다.

출력

PSObject

디버그 스트림에서 명령 추적을 반환합니다.

참고

  • 추적은 개발자가 프로그램을 디버그하고 구체화하는 데 사용하는 방법입니다. 추적할 때 프로그램은 내부 처리의 각 단계에 대한 자세한 메시지를 생성합니다.

  • Windows PowerShell 추적 cmdlet은 Windows PowerShell 개발자를 지원하도록 설계되었지만 모든 사용자가 사용할 수 있습니다. 셸 기능의 거의 모든 측면을 모니터링할 수 있습니다.

  • 추적에 사용할 수 있는 Windows PowerShell 구성 요소를 찾으려면 Get-Help Get-TraceSource입력합니다.

    추적 원본은 추적을 관리하고 구성 요소에 대한 추적 메시지를 생성하는 각 Windows PowerShell 구성 요소의 일부입니다. 구성 요소를 추적하려면 해당 추적 원본을 식별합니다.

    추적 수신기는 추적의 출력을 받아 사용자에게 표시합니다. 추적 데이터를 사용자 모드 또는 커널 모드 디버거, 호스트 또는 콘솔, 파일 또는 System.Diagnostics.TraceListener 클래스에서 파생된 사용자 지정 수신기로 보내도록 선택할 수 있습니다.

  • commandSet 매개 변수 집합을 사용하는 경우 Windows PowerShell은 파이프라인에서 처리되는 것처럼 명령을 처리합니다. 예를 들어 들어오는 각 개체에 대해 명령 검색이 반복되지 않습니다.

  • 이름, , 옵션명령 매개 변수의 이름은 선택 사항입니다. 매개 변수 이름을 생략하면 이름 없는 매개 변수 값이 다음 순서대로 나타나야 합니다. 이름, , 옵션 또는 이름, 명령, 옵션. 매개 변수 이름을 포함하는 경우 매개 변수는 순서에 따라 표시할 수 있습니다.