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
Set-PSDebug
Cmdlet mengaktifkan dan menonaktifkan fitur penelusuran kesalahan skrip, mengatur tingkat pelacakan, dan mengalihkan mode ketat. Secara default, fitur debug PowerShell nonaktif.
Ketika parameter Lacak 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.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 1
pelacakan .
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Strict
Menentukan bahwa variabel harus diberi nilai sebelum direferensikan dalam skrip. Jika variabel direferensikan sebelum nilai ditetapkan, PowerShell mengembalikan kesalahan pengecualian. Tindakan ini setara dengan Set-StrictMode -Version 1
. Untuk informasi selengkapnya, lihat Set-StrictMode.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
None
Anda tidak dapat menyalurkan objek ke cmdlet ini.
Output
None
Cmdlet ini tidak mengembalikan output.
Link Terkait
Saran dan Komentar
Kirim dan lihat umpan balik untuk