Aracılığıyla paylaş


about_Debuggers

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-Job cmdlet'ini çalıştırarak bir işin hatalarını ayıklarsanız, Exit komutu 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) veya List (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-PSDebug cmdlet'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-StrictMode cmdlet'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-Warningve Write-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