Debug-Runspace
Çalışma alanı ile etkileşimli bir hata ayıklama oturumu başlatır.
Syntax
Debug-Runspace
[-Runspace] <Runspace>
[-BreakAll]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Debug-Runspace
[-Name] <String>
[-BreakAll]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Debug-Runspace
[-Id] <Int32>
[-BreakAll]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Debug-Runspace
[-InstanceId] <Guid>
[-BreakAll]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Cmdlet, Debug-Runspace
yerel veya uzak etkin bir çalışma alanıyla etkileşimli bir hata ayıklama oturumu başlatır. Hata ayıklamak istediğiniz bir çalışma alanı bulmak için önce PowerShell ile ilişkili işlemleri, ardından Enter-PSHostProcess
işleme eklemek için Id parametresinde belirtilen işlem kimliğiyle ve ardından Get-Runspace
PowerShell ana bilgisayar işlemi içindeki çalışma boşluklarını listelemek için komutunu çalıştırarak Get-Process
bulabilirsiniz.
Hata ayıklamak için bir çalışma alanı seçtikten sonra, çalışma alanı şu anda bir komut veya betik çalıştırıyorsa veya betik bir kesme noktasında durdurulduysa, PowerShell çalışma alanı için bir uzak hata ayıklayıcı oturumu açar. Uzak oturum betiklerinin hata ayıklandığı şekilde runspace betiğinin hatalarını ayıklayabilirsiniz.
PowerShell konak işlemine yalnızca işlemi çalıştıran bilgisayarda yöneticiyseniz veya hata ayıklamak istediğiniz betiği çalıştırıyorsanız ekleyebilirsiniz. Ayrıca, geçerli PowerShell oturumunu çalıştıran konak işlemini de giremezsiniz. Yalnızca farklı bir PowerShell oturumu çalıştıran bir konak işlemi girebilirsiniz.
Örnekler
Örnek 1: Uzak çalışma alanının hatalarını ayıklama
Bu örnekte, WS10TestServer adlı uzak bilgisayarda açık olan bir çalışma alanında hata ayıklaacaksınız. Komutun ilk satırında, uzak bilgisayarda çalıştırılır Get-Process
ve Windows PowerShell konak işlemleri için filtrelemeniz gerekir. Bu örnekte, ISE konak işleminin Windows PowerShell işlem kimliği 1152'de hata ayıklamak istiyorsunuz.
PS C:\> Get-Process -ComputerName "WS10TestServer" -Name "*powershell*"
Handles WS(K) VM(M) CPU(s) Id ProcessName
------- ----- ----- ------ -- -----------
377 69912 63 2.09 2420 powershell
399 123396 829 4.48 1152 powershell_ise
PS C:\> Enter-PSSession -ComputerName "WS10TestServer"
[WS10TestServer]:PS C:\> Enter-PSHostProcess -Id 1152
[WS10TestServer:][Process:1152]: PS C:\Users\Test\Documents> Get-Runspace
Id Name ComputerName Type State Availability
-- ---- ------------ ---- ----- ------------
1 Runspace1 WS10TestServer Remote Opened Available
2 RemoteHost WS10TestServer Remote Opened Busy
[WS10TestServer][Process:1152]: PS C:\Users\Test\Documents> Debug-Runspace -Id 2
Hit Line breakpoint on 'C:\TestWFVar1.ps1:83'
At C:\TestWFVar1.ps1:83 char:1
+ $scriptVar = "Script Variable"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[Process:1152]: [RSDBG: 2]: PS C:\> >
İkinci komutta komutunu çalıştırarak Enter-PSSession
WS10TestServer'da bir uzak oturum açarsınız. Üçüncü komutta, komutunu çalıştırarak Enter-PSHostProcess
ve ilk komut olan 1152'de edindiğiniz konak işleminin kimliğini belirterek uzak sunucuda çalışan Windows PowerShell ISE konak işlemine eklersiniz.
Dördüncü komutta, komutunu çalıştırarak Get-Runspace
1152 işlem kimliği için kullanılabilir runspace'leri listelersiniz.
Meşgul çalışma alanının kimlik numarasını not alırsınız; hata ayıklamak istediğiniz bir betik çalıştırıyor.
Son komutta, komutunu çalıştırarak ve id parametresini ekleyerek runspace'i 2 kimliğine göre tanımlayarak, betiği TestWFVar1.ps1
çalıştıran Debug-Runspace
açık bir çalışma alanında hata ayıklamaya başlarsınız. Betikte bir kesme noktası olduğundan hata ayıklayıcı açılır.
Parametreler
-BreakAll
Hata ayıklayıcı eklendiğinde geçerli konumda hemen kesmenizi sağlar.
Bu parametre PowerShell 7.2'ye eklendi.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Cmdlet'i çalıştırmadan önce sizden onay ister.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Id
Bir çalışma alanının kimlik numarasını belirtir. Runspace kimliklerini göstermek için komutunu çalıştırabilirsiniz Get-Runspace
.
Type: | Int32 |
Position: | 0 |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InstanceId
bir çalışma alanını, komutunu çalıştırarak Get-Runspace
gösterebileceğiniz bir GUID olan örnek kimliğine göre belirtir.
Type: | Guid |
Position: | 0 |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Bir çalışma alanını adına göre belirtir. Runspaces adlarını göstermek için komutunu çalıştırabilirsiniz Get-Runspace
.
Type: | String |
Position: | 0 |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Runspace
Bir runspace nesnesi belirtir. Bu parametre için değer sağlamanın en basit yolu, filtrelenmiş Get-Runspace
komutun sonuçlarını içeren bir değişken belirtmektir.
Type: | Runspace |
Position: | 0 |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Cmdlet çalıştırılıyorsa ne olacağını gösterir. Cmdlet çalıştırılmaz.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Girişler
Bir komutun Get-Runspace
sonuçlarını bu cmdlet'e geçirebilirsiniz.
Notlar
Debug-Runspace
, Açık durumdaki çalışma alanları üzerinde çalışır. Bir çalışma alanı durumu Açık durumundan başka bir duruma dönüşürse, bu çalışma alanı otomatik olarak çalışan listeden kaldırılır. Çalışma listesine yalnızca aşağıdaki ölçütleri karşılayan bir çalışma alanı eklenir.
- Invoke-Command'dan geliyorsa; diğer bir
Invoke-Command
ifadeyle GUID kimliğine sahiptir. - bu kaynaktan
Debug-Runspace
geliyorsa, yani guidDebug-Runspace
kimliğine sahiptir. - Bir PowerShell iş akışından geliyorsa ve iş akışı iş kimliği geçerli etkin hata ayıklayıcısı iş akışı iş kimliğiyle aynıysa.
İlişkili Bağlantılar
Geri Bildirim
Gönderin ve geri bildirimi görüntüleyin