Set-PSDebug
Mengaktifkan dan menonaktifkan fitur penelusuran kesalahan skrip, mengatur tingkat pelacakan, dan mengaktifkan mode ketat.
Sintaks
Set-PSDebug
[-Trace <Int32>]
[-Step]
[-Strict]
[<CommonParameters>]
Set-PSDebug
[-Off]
[<CommonParameters>]
Deskripsi
cmdlet Set-PSDebug
mengaktifkan dan menonaktifkan fitur penelusuran kesalahan skrip, mengatur tingkat pelacakan, dan mengaktifkan mode ketat. Secara default, fitur debug PowerShell nonaktif.
Ketika parameter Trace memiliki nilai 1
, 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 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 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 penelusuran kesalahan skrip.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Step
Mengaktifkan 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 tingkat jejak 1
.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | 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.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | 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 skrip saat dijalankan.
- 2: Melacak baris skrip, penetapan variabel, panggilan fungsi, dan skrip.
Jenis: | Int32 |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
Input
None
Anda tidak dapat menyalurkan objek ke cmdlet ini.
Output
None
Cmdlet ini tidak mengembalikan output.