Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Kısa açıklama
PowerShell hata ayıklayıcısını açıklar.
Uzun açıklama
Hata ayıklama, betik yönergelerindeki hataları belirlemek ve düzeltmek için çalışırken betiği inceleme işlemidir. PowerShell hata ayıklayıcısı betiklerinizde, işlevlerinizde, komutlarınızda, PowerShell İstenen Durum Yapılandırması (DSC) yapılandırmalarınızda veya ifadelerinizde hataları ve verimsizlikleri incelemenize ve tanımlamanıza yardımcı olabilir.
PowerShell 5.0'dan başlayarak PowerShell hata ayıklayıcısı, uzak bilgisayarlarda konsolda veya Windows PowerShell Tümleşik Betik Ortamı'nda (ISE) çalışan betiklerin, işlevlerin, komutların, yapılandırmaların veya ifadelerin hatalarını ayıklanacak şekilde güncelleştirilmiştir.
Not
Windows PowerShell ISE yalnızca Windows PowerShell'i destekler. PowerShell 6 ve üzeri için Visual Studio Code'un PowerShell uzantısını kullanmanız gerekir. Daha fazla bilgi için bkz. visual studio code ile hata ayıklama.
Hata ayıklayıcısı cmdlet'leri
PowerShell hata ayıklayıcısı aşağıdaki cmdlet'leri içerir:
-
Set-PSBreakpoint: Satırlar, değişkenler ve komutlardaki kesme noktalarını ayarlar. -
Get-PSBreakpoint: Geçerli oturumdaki kesme noktalarını alır. -
Disable-PSBreakpoint: Geçerli oturumdaki kesme noktalarını kapatır. -
Enable-PSBreakpoint: Geçerli oturumdaki kesme noktalarını yeniden etkinleştirir. -
Remove-PSBreakpoint: Geçerli oturumdan kesme noktalarını siler. -
Get-PSCallStack: Geçerli çağrı yığınını görüntüler.
Hata ayıklayıcıyı başlatma ve durdurma
Hata ayıklayıcıyı başlatmak için bir veya daha fazla kesme noktası ayarlayın, ardından hata ayıklamak istediğiniz betiği, komutu veya işlevi çalıştırın.
Kesme noktasına ulaştığınızda yürütme durdurulur ve denetim hata ayıklayıcıya devredilir.
Hata ayıklayıcıyı durdurmak için betiği, komutu veya işlevi tamamlanana kadar çalıştırın.
Veya stop veya tyazın.
Hata ayıklayıcı komutları
PowerShell konsolunda hata ayıklayıcısını kullandığınızda, yürütmeyi denetlemek için aşağıdaki komutları kullanın. Windows PowerShell ISE'de Hata Ayıklama menüsündeki komutları kullanın.
Not
Diğer konak uygulamalarında hata ayıklayıcının nasıl kullanılacağı hakkında bilgi için konak uygulama belgelerine bakın.
s,StepInto: Sonraki deyimi yürütür ve sonra durur.v,StepOver: Sonraki deyimi yürütür, ancak işlevleri ve çağrıları atlar. Atlanan deyimler yürütülür, ancak adım atlanmaz.Ctrl+Break: (Tümünü ISE'de Kes) PowerShell konsolunda veya Windows PowerShell ISE'de çalışan bir betike bölün. Windows PowerShell 2.0, 3.0 ve 4.0'da Ctrl +programı kapattığını unutmayın. Tümünü Kes, hem yerel hem de uzaktan etkileşimli çalışan betiklerde çalışır.o,StepOut: Geçerli işlevin dışına çıkar; iç içe yerleştirilmişse bir düzey yukarı. Ana gövdede ise, sona veya bir sonraki kesme noktasına devam eder. Atlanan deyimler yürütülür, ancak adım atlanmaz.c,Continue: Betik tamamlanana kadar veya bir sonraki kesme noktasına ulaşılana kadar çalışmaya devam eder. Atlanan deyimler yürütülür, ancak adım atlanmaz.l,List: Betiğin yürütülen bölümünü görüntüler. Varsayılan olarak, geçerli satırı, beş önceki satırı ve sonraki 10 satırı görüntüler. Betiği listelemeye devam etmek için ENTER tuşuna basın.l <m>,List:<m>tarafından belirtilen satır numarasıyla başlayan betiğin 16 satırını görüntüler.l <m> <n>,List:<n>tarafından belirtilen satır numarasından başlayarak betiğin<m>satırlarını görüntüler.q,Stop,Exit: Betiği yürütmeyi durdurur ve hata ayıklayıcıdan çıkar.Debug-Jobcmdlet'ini çalıştırarak bir işin hatalarını ayıklarsanız,Exitkomutu hata ayıklayıcıyı ayırır ve işin çalışmaya devam etmesine izin verir.k,Get-PSCallStack: Geçerli çağrı yığınını görüntüler.<Enter>:Step(s),StepOver(v) veyaList(l) ise son komutu yineler. Aksi takdirde, gönderme eylemini temsil eder.?,h: Yardım hata ayıklayıcısı komutunu görüntüler.
Hata ayıklayıcıdan çıkmak için Stop (q) kullanabilirsiniz.
PowerShell 5.0'dan başlayarak, Debug-Job veya Debug-Runspaceçalıştırarak başlattığınız iç içe hata ayıklama oturumundan çıkmak için Exit komutunu çalıştırabilirsiniz.
Bu hata ayıklayıcı komutlarını kullanarak bir betik çalıştırabilir, bir sorun üzerinde durabilir, değişkenlerin değerlerini ve sistem durumunu inceleyebilir ve bir sorun belirleyene kadar betiği çalıştırmaya devam edebilirsiniz.
Not
>gibi bir yeniden yönlendirme işleci olan bir deyime adım atarsanız, PowerShell hata ayıklayıcısı betikteki kalan tüm deyimler üzerinde adım atar.
Betik değişkenlerinin değerlerini görüntüleme
Hata ayıklayıcıdayken komut girebilir, değişkenlerin değerini görüntüleyebilir, cmdlet'leri kullanabilir ve komut satırında betikleri çalıştırabilirsiniz. Aşağıdaki otomatik değişkenler dışında, hata ayıklanan betikteki tüm değişkenlerin geçerli değerini görüntüleyebilirsiniz:
$_
$args
$input
$MyInvocation
$PSBoundParameters
Bu değişkenlerden herhangi birinin değerini görüntüdüğünüzde, hata ayıklayıcının kullandığı bir iç işlem hattı için bu değişkenin değerini alırsınız, betikteki değişkenin değerini değil.
Hata ayıklanan betik için bu değişkenlerin değerini görüntülemek için betiğinize satırlar ekleyerek bu değerleri yeni bir değişkene kaydedin. Kesme noktanızı bu yeni satırlardan sonra ayarlayın. Ardından yeni değişkenin değerini görüntüleyebilirsiniz.
Mesela
$scriptArgs = $args
$scriptname = $MyInvocation.PSCommandPath
Hata ayıklayıcı ortamı
Bir kesme noktasına ulaştığınızda hata ayıklayıcı ortamına girersiniz. Komut istemi, "[DBG]:" ile başlayacak şekilde değişir. Ayrıca, PowerShell konsolu gibi bazı konak uygulamalarında hata ayıklama için iç içe bir istem açılır. komut isteminde görüntülenen yinelenen büyüktür karakterleri (ASCII 62) iç içe istemi algılayabilirsiniz.
İstemi özelleştirme hakkında daha fazla bilgi için bkz. about_Prompts.
$NestedPromptLevel otomatik değişkenini kullanarak iç içe yerleştirme düzeyini bulabilirsiniz.
$PSDebugContextotomatik değişkeni yerel kapsamda tanımlanır. hata ayıklayıcı içinde çalışıp çalışmadığını belirlemek için $PSDebugContext değişkeninin varlığını kullanabilirsiniz.
Mesela:
if ($PSDebugContext) {"Debugging"} else {"Not Debugging"}
Hata ayıklamanızda $PSDebugContext değişkeninin değerini kullanabilirsiniz.
[DBG]: PS>>> $PSDebugContext.InvocationInfo
Name CommandLineParameters UnboundArguments Location
---- --------------------- ---------------- --------
= {} {} C:\ps-test\vote.ps1 (1)
Hata ayıklama ve kapsam
Hata ayıklayıcıya girmek, içinde çalıştığınız kapsamı değiştirmez, ancak bir betikte kesme noktasına ulaştığınızda betik kapsamına geçersiniz. Betik kapsamı, hata ayıklayıcısını çalıştırdığınız kapsamın alt öğesidir.
Betik kapsamında tanımlanan değişkenleri ve diğer adları bulmak için Get-Alias veya Get-Variable cmdlet'lerinin Scope parametresini kullanın.
Örneğin, aşağıdaki komut yerel (betik) kapsamındaki değişkenleri alır:
Get-Variable -Scope 0
Bu, yalnızca betikte tanımladığınız ve hata ayıklama sırasında tanımladığınız değişkenleri görmenin kullanışlı bir yoludur.
Komut satırında hata ayıklama
Değişken kesme noktası veya komut kesme noktası ayarladığınızda, kesme noktasını yalnızca bir betik dosyasında ayarlayabilirsiniz. Ancak, kesme noktası varsayılan olarak geçerli oturumda çalışan herhangi bir şey üzerinde ayarlanır.
Örneğin, $name değişkeninde bir kesme noktası ayarlarsanız, kesme noktasını devre dışı bırakıncaya veya kaldırana kadar çalıştırdığınız herhangi bir betik, komut, işlev, betik cmdlet'i veya ifadedeki $name değişkende hata ayıklayıcı bozulur.
Bu, betiklerinizin oturumdaki ve kullanıcı profilindeki işlevlerden, değişkenlerden ve diğer betiklerden etkilenebileceği daha gerçekçi bir bağlamda hata ayıklamanıza olanak tanır.
Satır kesme noktaları betik dosyalarına özgü olduğundan yalnızca betik dosyalarında ayarlanır.
Hata ayıklama işlevleri
begin, processve end bölümleri olan bir işlevde kesme noktası ayarladığınızda, hata ayıklayıcı her bölümün ilk satırında kesilir.
Mesela:
function Test-Cmdlet {
begin {
Write-Output "Begin"
}
process {
Write-Output "Process"
}
end {
Write-Output "End"
}
}
C:\PS> Set-PSBreakpoint -Command Test-Cmdlet
C:\PS> Test-Cmdlet
Begin
Entering debug mode. Use h or ? for help.
Hit Command breakpoint on 'prompt:Test-Cmdlet'
Test-Cmdlet
[DBG]: C:\PS> c
Process
Entering debug mode. Use h or ? for help.
Hit Command breakpoint on 'prompt:Test-Cmdlet'
Test-Cmdlet
[DBG]: C:\PS> c
End
Entering debug mode. Use h or ? for help.
Hit Command breakpoint on 'prompt:Test-Cmdlet'
Test-Cmdlet
[DBG]: C:\PS>
Uzak betiklerde hata ayıklama
Enter-PSSession çalıştırarak, uzak bilgisayarda kesme noktaları ayarlayıp betik dosyalarının ve komutlarının hatalarını ayıklayabileceğiniz etkileşimli bir uzak PowerShell oturumu başlatabilirsiniz.
Enter-PSSession, uzak bilgisayarda betik veya komut çalıştıran bağlantısı kesilmiş bir oturumu yeniden bağlamanıza olanak tanır. Çalışan betik bir kesme noktasına isabet ederse istemci oturumunuz otomatik olarak hata ayıklayıcıyı başlatır. Betiği çalıştıran bağlantısı kesilmiş oturum zaten bir kesme noktasına isabet ettiyse Enter-PSSession oturuma yeniden bağlandığınızda komut satırı hata ayıklayıcısını otomatik olarak başlatır.
Aşağıdaki örnekte bunun nasıl çalıştığı gösterilmektedir. Kesme noktaları betiğin 6, 11, 22 ve 25. satırlarında ayarlanmıştır. Hata ayıklayıcı başlatıldığında, istemde iki tanımlayıcı değişiklik yapılır:
- Oturumun çalıştığı bilgisayarın adı
- Hata ayıklama modunda olduğunuzu bilmenizi sağlayan DBG istemi
Enter-PSSession -Cn localhost
[localhost]: PS C:\psscripts> Set-PSBreakpoint .\ttest19.ps1 6, 11, 22, 25
ID Script Line Command Variable Action
-- ------ ---- ------- -------- ------
0 ttest19.ps1 6
1 ttest19.ps1 11
2 ttest19.ps1 22
3 ttest19.ps1 25
[localhost]: PS C:\psscripts> .\ttest19.ps1
Hit Line breakpoint on 'C:\psscripts\ttest19.ps1:11'
At C:\psscripts\ttest19.ps1:11 char:1
+ $winRMName = "WinRM"
# + ~
[localhost]: [DBG]: PS C:\psscripts>> list
6: 1..5 | foreach { sleep 1; Write-Output "hello2day $_" }
7: }
# 8:
9: $count = 10
10: $psName = "PowerShell"
11:* $winRMName = "WinRM"
12: $myVar = 102
# 13:
14: for ($i=0; $i -lt $count; $i++)
15: {
16: sleep 1
17: Write-Output "Loop iteration is: $i"
18: Write-Output "MyVar is $myVar"
# 19:
20: hello2day
# 21:
[localhost]: [DBG]: PS C:\psscripts>> stepover
At C:\psscripts\ttest19.ps1:12 char:1
+ $myVar = 102
# + ~
[localhost]: [DBG]: PS C:\psscripts>> quit
[localhost]: PS C:\psscripts> Exit-PSSession
PS C:\psscripts>
Örnekler
Bu test betiği PowerShell sürümünü algılar ve sürüme uygun bir ileti görüntüler. İşlev, işlev çağrısı ve değişken içerir.
Aşağıdaki komut, test betiği dosyasının içeriğini görüntüler:
PS C:\PS-test> Get-Content test.ps1
function psversion {
"PowerShell " + $PSVersionTable.PSVersion
if ($PSVersionTable.PSVersion.Major -lt 7) {
"Upgrade to PowerShell 7!"
}
else {
"Have you run a background job today (Start-Job)?"
}
}
$scriptName = $MyInvocation.PSCommandPath
psversion
"Done $scriptName."
Başlamak için betiğin ilgilendiği bir noktada satır, komut, değişken veya işlev gibi bir kesme noktası ayarlayın.
Geçerli dizindeki Test.ps1 betiğinin ilk satırında bir satır kesme noktası oluşturarak başlayın.
PS C:\ps-test> Set-PSBreakpoint -Line 1 -Script test.ps1
Komut bir System.Management.Automation.LineBreakpoint nesnesi döndürür.
Column : 0
Line : 1
Action :
Enabled : True
HitCount : 0
Id : 0
Script : C:\ps-test\test.ps1
ScriptName : C:\ps-test\test.ps1
Şimdi betiği başlatın.
PS C:\ps-test> .\test.ps1
Betik ilk kesme noktasına ulaştığında kesme noktası iletisi hata ayıklayıcının etkin olduğunu gösterir. Kesme noktasını açıklar ve bir işlev bildirimi olan betiğin ilk satırının önizlemesini gösterir. Komut istemi, hata ayıklayıcının denetimine sahip olduğunu gösterecek şekilde de değişir.
Önizleme satırı, betik adını ve önizlemede görüntülenen komutun satır numarasını içerir.
Entering debug mode. Use h or ? for help.
Hit Line breakpoint on 'C:\ps-test\test.ps1:1'
test.ps1:1 function psversion {
DBG>
Betikteki ilk deyimi yürütmek ve sonraki deyimin önizlemesini görüntülemek için Step komutunu (ler) kullanın. Sonraki deyim, $MyInvocation değişkeninin değerini betik dosyasının yoluna ve dosya adına ayarlamak için $scriptName otomatik değişkenini kullanır.
DBG> s
test.ps1:11 $scriptName = $MyInvocation.PSCommandPath
Bu noktada, $scriptName değişkeni doldurulmamıştır, ancak değerini görüntüleyerek değişkenin değerini doğrulayabilirsiniz. Bu durumda değeri $null.
DBG> $scriptname
DBG>
Geçerli deyimi yürütmek ve betikteki sonraki deyimi önizlemek için başka bir Step komutu (s) kullanın. Sonraki deyim psversion işlevini çağırır.
DBG> s
test.ps1:12 psversion
Bu noktada değişken $scriptName doldurulur, ancak değişkenin değerini doğrularsınız. Bu durumda, değer betik yoluna ayarlanır.
DBG> $scriptName
C:\ps-test\test.ps1
İşlev çağrısını yürütmek için başka bir Adım komutu kullanın. ENTER tuşuna basın veya Adım için "s" yazın.
DBG> s
test.ps1:2 "PowerShell " + $PSVersionTable.PSVersion
Hata ayıklama iletisi, işlevdeki deyiminin önizlemesini içerir. Bu deyimi yürütmek ve işlevindeki sonraki deyimin önizlemesini görüntülemek için bir Step komutu kullanabilirsiniz. Ancak bu durumda StepOut komutunu (o) kullanın. İşlevin yürütülmesini (kesme noktasına ulaşmadığı sürece) tamamlar ve betikteki sonraki deyimin adımlarını uygular.
DBG> o
Windows PowerShell 2.0
Have you run a background job today (Start-Job)?
test.ps1:13 "Done $scriptName"
Betikteki son deyimde olduğumuzdan Step, StepOut ve Continue komutları aynı etkiye sahiptir. Bu durumda StepOut (o) kullanın.
Done C:\ps-test\test.ps1
PS C:\ps-test>
StepOut komutu son komutu yürütür. Standart komut istemi, hata ayıklayıcının çıkış yapıp komut işlemcisine denetim döndürdüğünü gösterir.
Şimdi hata ayıklayıcısını yeniden çalıştırın. İlk olarak, geçerli kesme noktasını silmek için Get-PSBreakpoint ve Remove-PSBreakpoint cmdlet'lerini kullanın. (Kesme noktasını yeniden kullanabileceğinizi düşünüyorsanız, Disable-PSBreakpointyerine Remove-PSBreakpoint cmdlet'ini kullanın.)
PS C:\ps-test> Get-PSBreakpoint | Remove-PSBreakpoint
Bu komutu şu şekilde kısaltabilirsiniz:
PS C:\ps-test> gbp | rbp
Veya aşağıdaki işlev gibi bir işlev yazarak komutunu çalıştırın:
function delbr { gbp | rbp }
Şimdi $scriptname değişkeninde bir kesme noktası oluşturun.
PS C:\ps-test> Set-PSBreakpoint -Variable scriptname -Script test.ps1
Komutu şu şekilde kısaltabilirsiniz:
PS C:\ps-test> sbp -V scriptname -S test.ps1
Şimdi betiği başlatın. Betik değişken kesme noktasına ulaşır. Varsayılan mod Yazma'dır, bu nedenle yürütme değişkenin değerini değiştiren deyiminden hemen önce durur.
PS C:\ps-test> .\test.ps1
Hit Variable breakpoint on 'C:\ps-test\test.ps1:$scriptName'
(Write access)
test.ps1:11 $scriptName = $MyInvocation.PSCommandPath
DBG>
$scriptNameolan $null değişkeninin geçerli değerini görüntüleyin.
DBG> $scriptName
DBG>
Değişkeni dolduran deyimi yürütmek için bir Step komutu (s) kullanın. Ardından, $scriptName değişkeninin yeni değerini görüntüleyin.
DBG> $scriptName
C:\ps-test\test.ps1
Betikteki bir sonraki deyimin önizlemesini görüntülemek için Bir Adım komutu (ler) kullanın.
DBG> s
test.ps1:12 psversion
Sonraki deyim, psversion işlevine yapılan bir çağrıdır. İşlevi atlamak ancak yine de yürütmek için bir StepOver komutu (v) kullanın.
StepOverkullandığınızda zaten işlevin içindeyseniz, bu geçerli değildir. İşlev çağrısı görüntülenir, ancak yürütülemez.
DBG> v
Windows PowerShell 2.0
Have you run a background job today (Start-Job)?
test.ps1:13 "Done $scriptName"
StepOver komutu işlevi yürütür ve betikte son satırı yazdıran sonraki deyimin önizlemesini gösterir.
Hata ayıklayıcıdan çıkmak için bir Stop komutu (t) kullanın. Komut istemi standart komut istemine geri döner.
C:\ps-test>
Kesme noktalarını silmek için Get-PSBreakpoint ve Remove-PSBreakpoint cmdlet'lerini kullanın.
PS C:\ps-test> Get-PSBreakpoint | Remove-PSBreakpoint
psversion işlevinde yeni bir komut kesme noktası oluşturun.
PS C:\ps-test> Set-PSBreakpoint -Command psversion -Script test.ps1
Bu komutu şu şekilde kısaltabilirsiniz:
PS C:\ps-test> sbp -C psversion -S test.ps1
Şimdi betiği çalıştırın.
PS C:\ps-test> .\test.ps1
Hit Command breakpoint on 'C:\ps-test\test.ps1:psversion'
test.ps1:12 psversion
DBG>
Betik, işlev çağrısında kesme noktasına ulaşır. Bu noktada işlev henüz çağrılmamıştır. Bu, kesme noktasının yürütülmesine ilişkin koşulları ayarlamak veya günlük başlatma ya da tanılama veya güvenlik betiği çağırma gibi hazırlık veya tanılama görevlerini gerçekleştirmek için Set-PSBreakpoint Eylem parametresini kullanma fırsatı verir.
Eylem ayarlamak için, komut dosyasından çıkmak için Devam komutunu (c) ve geçerli kesme noktasını silmek için bir Remove-PSBreakpoint komutu kullanın. (Kesme noktaları salt okunur olduğundan, geçerli kesme noktasına eylem ekleyemezsiniz.)
DBG> c
Windows PowerShell 2.0
Have you run a background job today (Start-Job)?
Done C:\ps-test\test.ps1
PS C:\ps-test> Get-PSBreakpoint | Remove-PSBreakpoint
PS C:\ps-test>
Şimdi bir eylemle yeni bir komut kesme noktası oluşturun. Aşağıdaki komut, işlev çağrıldığında $scriptName değişkeninin değerini günlüğe kaydeden bir eylemle bir komut kesme noktası ayarlar. eylemde break anahtar sözcüğü kullanılmadığından yürütme durdurulmuyor. Backtick (`), satır devamlılığı karakteridir.
PS C:\ps-test> Set-PSBreakpoint -Command psversion -Script test.ps1 `
-Action { Add-Content "The value of `$scriptName is $scriptName." `
-Path action.log}
Kesme noktası için koşullar ayarlayan eylemler de ekleyebilirsiniz. Aşağıdaki komutta, komut kesme noktası yalnızca yürütme ilkesi RemoteSigned olarak ayarlandığında yürütülür ve bu ilke betikleri çalıştırmanıza izin veren en kısıtlayıcı ilkedir.
PS C:\ps-test> Set-PSBreakpoint -Script test.ps1 -Command psversion `
-Action { if ((Get-ExecutionPolicy) -eq "RemoteSigned") { break }}
Eylemdeki break anahtar sözcüğü hata ayıklayıcıyı kesme noktasını yürütmeye yönlendirir. Hata ayıklayıcıyı kesmeden yürütmeye yönlendirmek için continue anahtar sözcüğünü de kullanabilirsiniz. Varsayılan anahtar sözcük continueolduğundan, yürütmeyi durdurmak için break belirtmeniz gerekir.
Şimdi betiği çalıştırın.
PS C:\ps-test> .\test.ps1
Hit Command breakpoint on 'C:\ps-test\test.ps1:psversion'
test.ps1:12 psversion
Yürütme ilkesi RemoteSigned olarak ayarlandığından, işlev çağrısında yürütme durdurulur.
Bu noktada, çağrı yığınını denetlemek isteyebilirsiniz.
Get-PSCallStack cmdlet'ini veya Get-PSCallStack hata ayıklayıcısı komutunu (k) kullanın. Aşağıdaki komut geçerli çağrı yığınını alır.
DBG> k
2: prompt
1: .\test.ps1: $args=[]
0: prompt: $args=[]
Bu örnekte, PowerShell hata ayıklayıcısını kullanmanın birkaç yolu gösterilmektedir.
PowerShell'deki diğer hata ayıklama özellikleri
PowerShell hata ayıklayıcısına ek olarak, PowerShell betiklerde ve işlevlerde hata ayıklamak için kullanabileceğiniz diğer birçok özellik içerir.
Set-PSDebugcmdlet'i, adımlama ve izleme dahil olmak üzere çok temel betik hata ayıklama özellikleri sunar.başlatılmamış değişkenlere başvuruları algılamak, bir nesnenin var olmayan özelliklerine başvurular ve geçerli olmayan işlev söz dizimini kullanmak için
Set-StrictModecmdlet'ini kullanın.Değişkenlerin değerini görüntüleyen deyimler, komut satırından girişi okuyan deyimler veya geçerli yönergeyi raporlayan deyimler gibi bir betike tanılama deyimleri ekleyin.
Write-Host,Write-Debug,Write-WarningveWrite-Verbosegibi bu görev için Yazma fiilini içeren cmdlet'leri kullanın.
Ayrıca bakınız
- disable-PSBreakpoint
- Enable-PSBreakpoint
- Get-PSBreakpoint
- Remove-PSBreakpoint
- Set-PSBreakpoint
- Get-PSCallStack
- Yazma-Hata Ayıklama
- Ayrıntılı Yazma
PowerShell