Trace-Command
지정된 식 또는 명령의 추적을 구성하고 시작합니다.
구문
Trace-Command
[-InputObject <PSObject>]
[-Name] <String[]>
[[-Option] <PSTraceSourceOptions>]
[-Expression] <ScriptBlock>
[-ListenerOption <TraceOptions>]
[-FilePath <String>]
[-Force]
[-Debugger]
[-PSHost]
[<CommonParameters>]
Trace-Command
[-InputObject <PSObject>]
[-Name] <String[]>
[[-Option] <PSTraceSourceOptions>]
[-Command] <String>
[-ArgumentList <Object[]>]
[-ListenerOption <TraceOptions>]
[-FilePath <String>]
[-Force]
[-Debugger]
[-PSHost]
[<CommonParameters>]
Description
Trace-Command
cmdlet은 지정된 식 또는 명령의 추적을 구성하고 시작합니다.
지정된 명령에만 적용된다는 점을 제외하고 Set-TraceSource와 같이 작동합니다.
예제
예제 1: 추적 메타데이터 처리, 매개 변수 바인딩 및 식
이 예제에서는 메타데이터 처리, 매개 변수 바인딩 및 cmdlet 생성 및 Get-Process Notepad
식의 소멸 추적을 시작합니다.
Trace-Command -Name metadata,parameterbinding,cmdlet -Expression {Get-Process Notepad} -PSHost
Name 매개 변수를 사용하여 추적 원본을 지정하고, Expression 매개 변수를 사용하여 명령을 지정하고, PSHost 매개 변수를 사용하여 출력을 콘솔로 보냅니다. 추적 옵션 또는 수신기 옵션을 지정하지 않으므로 이 명령은 기본값을 사용합니다.
- 추적 옵션에 대한 모든 항목
- 수신기 옵션에 대한 없음
예제 2: ParameterBinding 작업의 작업 추적
이 예제에서는 파이프라인에서 입력을 가져오는 Get-Alias
식을 처리하는 동안 PowerShell의 ParameterBinding 작업의 작업을 추적합니다.
$A = "i*"
Trace-Command ParameterBinding {Get-Alias $Input} -PSHost -InputObject $A
Trace-Command
InputObject 매개 변수는 추적 중에 처리되는 식에 개체를 전달합니다.
첫 번째 명령은 문자열 i*
$A
변수에 저장합니다. 두 번째 명령은 parameterBinding 추적 원본과 함께 Trace-Command
cmdlet을 사용합니다.
PSHost 매개 변수는 출력을 콘솔로 보냅니다.
처리되는 식은 Get-Alias $Input
, 여기서 $Input
변수는 InputObject 매개 변수와 연결됩니다.
InputObject 매개 변수는 변수 $A
식에 전달합니다. 실제로 추적 중에 처리되는 명령은 Get-Alias -InputObject $A" or "$A | Get-Alias
.
매개 변수
-ArgumentList
추적 중인 명령에 대한 매개 변수 및 매개 변수 값을 지정합니다. ArgumentList 별칭은 인수 . 이 기능은 동적 매개 변수를 디버깅하는 데 유용합니다.
ArgumentList동작에 대한 자세한 내용은 about_Splatting참조하세요.
형식: | Object[] |
별칭: | Args |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Command
추적 중에 처리되는 명령을 지정합니다.
이 매개 변수를 사용하는 경우 PowerShell은 파이프라인에서 처리되는 것처럼 명령을 처리합니다. 예를 들어 들어오는 각 개체에 대해 명령 검색이 반복되지 않습니다.
형식: | 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
출력에 있는 각 추적 메시지의 접두사에 대한 선택적 데이터를 지정합니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.
None
LogicalOperationStack
DateTime
Timestamp
ProcessId
ThreadId
Callstack
None
기본값입니다.
이러한 값은 플래그 기반 열거형으로 정의됩니다. 이 매개 변수를 사용하여 여러 값을 결합하여 여러 플래그를 설정할 수 있습니다. 값은 값 배열 또는 해당 값의 쉼표로 구분된 문자열로 ListenerOption 매개 변수에 전달될 수 있습니다. cmdlet은 이진 OR 연산을 사용하여 값을 결합합니다. 값을 배열로 전달하는 것이 가장 간단한 옵션이며 값에 대한 탭 완성을 사용할 수도 있습니다.
형식: | TraceOptions |
허용되는 값: | None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-Name
추적되는 PowerShell 구성 요소의 배열을 지정합니다. 각 구성 요소의 추적 원본 이름을 입력합니다. 와일드카드가 허용됩니다. 컴퓨터에서 추적 원본을 찾으려면 Get-TraceSource
입력합니다.
형식: | String[] |
Position: | 0 |
Default value: | None |
필수: | True |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-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 매개 변수에 값 배열 또는 해당 값의 쉼표로 구분된 문자열로 전달될 수 있습니다. cmdlet은 이진 OR 연산을 사용하여 값을 결합합니다. 값을 배열로 전달하는 것이 가장 간단한 옵션이며 값에 대한 탭 완성을 사용할 수도 있습니다.
형식: | 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이 추적 출력을 PowerShell 호스트로 보내도록 나타냅니다. 이 매개 변수는 PSHost 추적 수신기도 선택합니다.
형식: | SwitchParameter |
Position: | Named |
Default value: | None |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
입력
입력을 나타내는 개체를 이 cmdlet에 파이프할 수 있습니다.
출력
이 cmdlet은 자체 출력을 반환하지 않습니다. 추적된 명령은 출력을 반환할 수 있습니다. 이 cmdlet은 명령 추적을 디버그 스트림에 씁니다.
참고
Windows PowerShell에는 Trace-Command
다음과 같은 별칭이 포함되어 있습니다.
trcm
추적은 개발자가 프로그램을 디버그하고 구체화하는 데 사용하는 방법입니다. 추적할 때 프로그램은 내부 처리의 각 단계에 대한 자세한 메시지를 생성합니다. PowerShell 추적 cmdlet은 PowerShell 개발자를 지원하도록 설계되었지만 모든 사용자가 사용할 수 있습니다. 셸 기능의 거의 모든 측면을 모니터링할 수 있습니다.
추적 원본은 추적을 관리하고 구성 요소에 대한 추적 메시지를 생성하는 각 PowerShell 구성 요소의 일부입니다. 구성 요소를 추적하려면 해당 추적 원본을 식별합니다.
Get-TraceSource
사용하여 추적에 사용할 수 있는 PowerShell 구성 요소 목록을 확인합니다.
추적 수신기는 추적의 출력을 받아 사용자에게 표시합니다. 추적 데이터를 사용자 모드 또는 커널 모드 디버거, 호스트 또는 콘솔, 파일 또는 System.Diagnostics.TraceListener 클래스에서 파생된 사용자 지정 수신기로 보내도록 선택할 수 있습니다.
관련 링크
PowerShell