Bagikan melalui


Set-PSDebug

Menghidupkan dan mematikan fitur debug skrip, mengatur tingkat penelusuran, dan mengaktifkan mode ketat.

Sintaks

on

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

off

Set-PSDebug
    [-Off]
    [<CommonParameters>]

Deskripsi

cmdlet Set-PSDebug mengaktifkan dan menonaktifkan fitur debugging skrip, mengatur tingkat jejak, dan mengaktifkan mode ketat. Secara default, fitur debug PowerShell nonaktif.

Ketika parameter Trace memiliki nilai , setiap baris skrip dilacak saat berjalan. Ketika parameter memiliki nilai 2, penetapan variabel, panggilan fungsi, dan panggilan skrip juga dilacak. Jika parameter Langkah ditentukan, Anda akan diminta konfirmasi sebelum setiap baris skrip berjalan.

Contoh

Contoh 1: Mengatur tingkat pelacakan

Contoh ini mengatur tingkat pelacakan ke 2, lalu menjalankan skrip yang menampilkan angka 1, 2, dan 3.

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 = ''.

Contoh 2: Aktifkan mode langkah

Contoh ini mengaktifkan langkah, lalu menjalankan skrip yang menampilkan angka 1, 2, dan 3.

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

Contoh 3: Gunakan mode ketat

Contoh ini menempatkan PowerShell dalam mode ketat dan mencoba mengakses variabel yang tidak memiliki nilai yang ditetapkan.

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

Contoh 4: Menonaktifkan fitur debug

Contoh ini menonaktifkan semua fitur penelusuran kesalahan, lalu menjalankan skrip yang menampilkan angka 1, 2, dan 3.

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

Parameter

-Off

Menonaktifkan semua fitur debugging skrip.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

off
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Step

Mengaktifkan penelusuran langkah-langkah skrip. Sebelum setiap baris berjalan, PowerShell meminta Anda untuk menghentikan, melanjutkan, atau memasukkan tingkat penerjemah baru untuk memeriksa status skrip.

Menentukan parameter Langkah secara otomatis mengatur level pelacakan 1.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

on
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Strict

Menentukan bahwa variabel harus diberi nilai sebelum direferensikan dalam skrip. Jika variabel direferensikan sebelum nilai ditetapkan, PowerShell mengembalikan kesalahan pengecualian. Ini setara dengan Set-StrictMode -Version 1. Untuk informasi selengkapnya, lihat Set-StrictMode.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

on
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Trace

Menentukan tingkat pelacakan untuk setiap baris dalam skrip. Setiap baris dilacak saat dijalankan.

Nilai yang dapat diterima untuk parameter ini adalah sebagai berikut:

  • 0: Matikan pelacakan skrip.
  • 1: Lacak baris-baris skrip saat sedang dijalankan.
  • 2: Melacak baris skrip, penetapan variabel, panggilan fungsi, dan skrip.

Properti parameter

Jenis:Int32
Nilai default:None
Mendukung wildcard:False
DontShow:False

Kumpulan parameter

on
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

CommonParameters

Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.

Input

None

Anda tidak dapat menyalurkan objek ke cmdlet ini.

Output

None

Cmdlet ini tidak mengembalikan output.