Aracılığıyla paylaş


Set-PSDebug

Betik hata ayıklama özelliklerini açar ve kapatır, izleme düzeyini ayarlar ve katı modu değiştirir.

Sözdizimi

Set-PSDebug
   [-Trace <Int32>]
   [-Step]
   [-Strict]
   [<CommonParameters>]
Set-PSDebug
   [-Off]
   [<CommonParameters>]

Description

Set-PSDebug Cmdlet betik hata ayıklama özelliklerini açar ve kapatır, izleme düzeyini ayarlar ve katı modu değiştirir. Varsayılan olarak, PowerShell hata ayıklama özellikleri kapalıdır.

trace parametresinin 1değeri olduğunda, betiğin her satırı çalıştırılırken izlenmiş olur. parametresinin değeri 2olduğunda değişken atamaları, işlev çağrıları ve betik çağrıları da izlenir. Step parametresi belirtilirse, betiğin her satırı çalışmadan önce sizden istenir.

Örnekler

Örnek 1: İzleme düzeyini ayarlama

Bu örnek izleme düzeyini olarak 2ayarlar ve ardından 1, 2 ve 3 sayılarını görüntüleyen bir betik çalıştırır.

Set-PSDebug -Trace 2; foreach ($i in 1..3) {$i}

DEBUG:    1+ Set-PSDebug -Trace 2; foreach ($i in  >>>> 1..3) {$i}
DEBUG:     ! SET $foreach = 'IEnumerator'.
DEBUG:    1+ Set-PSDebug -Trace 2; foreach ( >>>> $i in 1..3) {$i}
DEBUG:     ! SET $i = '1'.
DEBUG:    1+ Set-PSDebug -Trace 2; foreach ($i in 1..3) { >>>> $i}
1
DEBUG:    1+ Set-PSDebug -Trace 2; foreach ( >>>> $i in 1..3) {$i}
DEBUG:     ! SET $i = '2'.
DEBUG:    1+ Set-PSDebug -Trace 2; foreach ($i in 1..3) { >>>> $i}
2
DEBUG:    1+ Set-PSDebug -Trace 2; foreach ( >>>> $i in 1..3) {$i}
DEBUG:     ! SET $i = '3'.
DEBUG:    1+ Set-PSDebug -Trace 2; foreach ($i in 1..3) { >>>> $i}
3
DEBUG:    1+ Set-PSDebug -Trace 2; foreach ( >>>> $i in 1..3) {$i}
DEBUG:     ! SET $foreach = ''.

Örnek 2: Adımlama özelliğini açma

Bu örnek, adımlama işlemini açar ve ardından 1, 2 ve 3 sayılarını görüntüleyen bir betik çalıştırır.

Set-PSDebug -Step; foreach ($i in 1..3) {$i}

Continue with this operation?
   1+ Set-PSDebug -Step; foreach ($i in  >>>> 1..3) {$i}
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): A
DEBUG:    1+ Set-PSDebug -Step; foreach ($i in  >>>> 1..3) {$i}
1
2
3

Örnek 3: Katı modu kullanma

Bu örnek PowerShell'i katı moda alır ve atanmış değeri olmayan bir değişkene erişmeye çalışır.

Set-PSDebug -Strict; $NewVar

The variable '$NewVar' cannot be retrieved because it has not been set.
At line:1 char:22
+ Set-PSDebug -Strict; $NewVar

Örnek 4: Hata ayıklama özelliklerini kapatma

Bu örnek tüm hata ayıklama özelliklerini kapatır ve ardından 1, 2 ve 3 sayılarını görüntüleyen bir betik çalıştırır.

Set-PSDebug -Off; foreach ($i in 1..3) {$i}

1
2
3

Parametreler

-Off

Tüm betik hata ayıklama özelliklerini kapatır.

Tür:SwitchParameter
Position:Named
Default value:False
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Step

Betik adımlarını açar. Her satır çalışmadan önce, PowerShell sizden betiğin durumunu incelemek için durdurmanızı, devam etmenizi veya yeni bir yorumlayıcı düzeyi girmenizi ister.

Step parametresinin belirtilmesi, izleme düzeyini 1otomatik olarak ayarlar.

Tür:SwitchParameter
Position:Named
Default value:False
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Strict

Bir betikte başvurulmadan önce değişkenlere bir değer atanması gerektiğini belirtir. Bir değer atanmadan önce bir değişkene başvurulursa PowerShell bir özel durum hatası döndürür. Bu, ile Set-StrictMode -Version 1eşdeğerdir. Daha fazla bilgi için bkz . Set-StrictMode.

Tür:SwitchParameter
Position:Named
Default value:False
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

-Trace

Betikteki her satır için izleme düzeyini belirtir. Her satır çalıştırılırken izleniyor.

Bu parametre için kabul edilebilir değerler aşağıdaki gibidir:

  • 0: Betik izlemeyi kapatın.
  • 1: Betik satırlarını çalışırken izleme.
  • 2: Betik satırlarını, değişken atamalarını, işlev çağrılarını ve betikleri izleme.
Tür:Int32
Position:Named
Default value:None
Gerekli:False
İşlem hattı girişini kabul et:False
Joker karakterleri kabul et:False

Girişler

None

Nesneleri bu cmdlet'e yöneltemezsiniz.

Çıkışlar

None

Bu cmdlet çıkış döndürmez.