Trace-Command
Belirtilen ifadenin veya komutun bir izlemesini yapılandırıp başlatır.
Syntax
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
cmdlet'i Trace-Command
belirtilen ifadenin veya komutun bir izlemesini yapılandırıp başlatır.
Yalnızca belirtilen komut için geçerli olması dışında Set-TraceSource gibi çalışır.
Örnekler
Örnek 1: Meta veri işlemeyi, parametre bağlamayı ve ifadeyi izleme
Bu örnek, meta veri işleme, parametre bağlama ve cmdlet oluşturma ve yok etme işlemlerinin bir izlemesini Get-Process Notepad
başlatır.
Trace-Command -Name metadata,parameterbinding,cmdlet -Expression {Get-Process Notepad} -PSHost
İzleme kaynaklarını belirtmek için Name parametresini, komutu belirtmek için Expression parametresini ve çıkışı konsola göndermek için PSHost parametresini kullanır. Herhangi bir izleme seçeneği veya dinleyici seçeneği belirtmediğinden, komut varsayılanları kullanır:
- İzleme seçenekleri için tümü
- Dinleyici seçenekleri için hiçbiri
Örnek 2: ParameterBinding işlemlerinin eylemlerini izleme
Bu örnek, işlem hattından giriş alan bir Get-Alias
ifadeyi işlerken PowerShell'in ParameterBinding işlemlerinin eylemlerini izler.
$A = "i*"
Trace-Command ParameterBinding {Get-Alias $Input} -PSHost -InputObject $A
içinde Trace-Command
InputObject parametresi, izleme sırasında işlenen ifadeye bir nesnesi geçirir.
İlk komut dizesini i*
değişkeninde $A
depolar. İkinci komut ParameterBinding izleme kaynağıyla cmdlet'ini kullanır Trace-Command
. PSHost parametresi çıkışı konsola gönderir.
İşlenen ifade, Get-Alias $Input
değişkenin $Input
InputObject parametresiyle ilişkilendirildiği ifadesidir. InputObject parametresi değişkeni $A
ifadeye geçirir. Aslında, izleme sırasında işlenen komut olur Get-Alias -InputObject $A" or "$A | Get-Alias
.
Parametreler
-ArgumentList
İzlenen komut için parametreleri ve parametre değerlerini belirtir. ArgumentList için diğer ad Args'dir. Bu özellik özellikle dinamik parametrelerin hatalarını ayıklamak için kullanışlıdır.
ArgumentList'in davranışı hakkında daha fazla bilgi için bkz. about_Splatting.
Type: | Object[] |
Aliases: | Args |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Command
İzleme sırasında işlenen bir komutu belirtir.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Debugger
Cmdlet'in izleme çıkışını hata ayıklayıcıya gönderdiğini gösterir. Çıkışı herhangi bir kullanıcı modunda veya çekirdek modu hata ayıklayıcısında ya da Visual Studio'da görüntüleyebilirsiniz. Bu parametre ayrıca varsayılan izleme dinleyicisini seçer.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Expression
İzleme sırasında işlenen ifadeyi belirtir. İfadeyi ayraç içine alın ({}
).
Type: | ScriptBlock |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FilePath
Cmdlet'in izleme çıkışını gönderdiği dosyayı belirtir. Bu parametre ayrıca dosya izleme dinleyicisini seçer.
Type: | String |
Aliases: | PSPath, Path |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Komutu, kullanıcı onayı istemeden çalışmaya zorlar. FilePath parametresiyle kullanılır. Force parametresini kullanarak bile cmdlet güvenlik kısıtlamalarını geçersiz kılamaz.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
İzleme sırasında işlenen ifadeye girişi belirtir. İfadenin kabul ettiğini girişi temsil eden bir değişken girebilir veya bir nesneyi işlem hattından geçirebilirsiniz.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ListenerOption
Çıktıdaki her izleme iletisinin ön ekine isteğe bağlı verileri belirtir. Bu parametrenin kabul edilebilir değerleri şunlardır:
None
LogicalOperationStack
DateTime
Timestamp
ProcessId
ThreadId
Callstack
None
varsayılan değerdir.
Bu değerler, bayrak tabanlı bir numaralandırma olarak tanımlanır. Bu parametreyi kullanarak birden çok bayrağı ayarlamak için birden çok değeri birleştirebilirsiniz. Değerler ListenerOption parametresine bir değer dizisi veya bu değerlerin virgülle ayrılmış dizesi olarak geçirilebilir. cmdlet'i, değerleri ikili OR işlemi kullanarak birleştirir. Değerleri dizi olarak geçirmek en basit seçenektir ve değerlerde sekme tamamlama özelliğini kullanmanıza da olanak tanır.
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
İzlenen bir PowerShell bileşenleri dizisini belirtir. Her bileşenin izleme kaynağının adını girin. Joker karakterlere izin verilir. Bilgisayarınızda izleme kaynaklarını bulmak için yazın Get-TraceSource
.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Option
İzlenen olayların türünü belirler. Bu parametrenin kabul edilebilir değerleri şunlardır:
None
Constructor
Dispose
Finalizer
Method
Property
Delegates
Events
Exception
Lock
Error
Errors
Warning
Verbose
WriteLine
Data
Scope
ExecutionFlow
Assert
All
All
varsayılan değerdir.
Aşağıdaki değerler diğer değerlerin birleşimleridir:
ExecutionFlow
:Constructor
,Dispose
,Finalizer
,Method
,Delegates
,Events
,Scope
Data
:Constructor
,Dispose
,Finalizer
,Property
,Verbose
,WriteLine
Errors
:Error
,Exception
Bu değerler, bayrak tabanlı bir numaralandırma olarak tanımlanır. Bu parametreyi kullanarak birden çok bayrağı ayarlamak için birden çok değeri birleştirebilirsiniz. Değerler Option parametresine bir değer dizisi veya bu değerlerin virgülle ayrılmış dizesi olarak geçirilebilir. cmdlet'i, değerleri ikili OR işlemi kullanarak birleştirir. Değerleri dizi olarak geçirmek en basit seçenektir ve değerlerde sekme tamamlama özelliğini kullanmanıza da olanak tanır.
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: | 2 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PSHost
Cmdlet'in izleme çıkışını PowerShell konağına gönderdiğini gösterir. Bu parametre ayrıca PSHost izleme dinleyicisini seçer.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Girişler
İfadenin girişini temsil eden nesneleri öğesine Trace-Command
yöneltebilirsiniz.
Çıkışlar
Hata ayıklama akışındaki komut izlemesini döndürür.
Notlar
İzleme, geliştiricilerin programlarda hata ayıklamak ve bunları iyileştirmek için kullandığı bir yöntemdir. İzleme sırasında, program iç işlemedeki her adım hakkında ayrıntılı iletiler oluşturur.
PowerShell izleme cmdlet'leri PowerShell geliştiricilerine yardımcı olmak için tasarlanmıştır, ancak tüm kullanıcılar tarafından kullanılabilir. Bunlar, kabuğun işlevselliğinin neredeyse her yönünü izlemenize olanak sağlar.
İzleme için etkinleştirilmiş PowerShell bileşenlerini bulmak için yazın
Get-Help Get-TraceSource
.İzleme kaynağı, her PowerShell bileşeninin izlemeyi yöneten ve bileşen için izleme iletileri oluşturan bölümüdür. Bir bileşeni izlemek için izleme kaynağını tanımlarsınız.
İzleme dinleyicisi izlemenin çıkışını alır ve kullanıcıya görüntüler. İzleme verilerini kullanıcı modu veya çekirdek modu hata ayıklayıcısına, konağa veya konsola, bir dosyaya ya da System.Diagnostics.TraceListener sınıfından türetilen özel bir dinleyiciye göndermeyi seçebilirsiniz.
commandSet parametre kümesini kullandığınızda, PowerShell komutu bir işlem hattında işlendiği gibi işler. Örneğin, komut bulma her gelen nesne için yinelenmez.
Ad, İfade, Seçenek ve Komut parametrelerinin adları isteğe bağlıdır. Parametre adlarını atlarsanız, adsız parametre değerleri şu sırada görünmelidir: Ad, İfade, Seçenek veya Ad, Komut, Seçenek. Parametre adlarını eklerseniz, parametreler herhangi bir sırada görüntülenebilir.