Debug-Runspace

Elindít egy interaktív hibakeresési munkamenetet egy futtatótérrel.

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

A Debug-Runspace parancsmag egy interaktív hibakeresési munkamenetet indít el egy helyi vagy távoli aktív futtatótérrel. Megkereshet egy olyan futtatóteret, amelyet először a Get-Process PowerShell-hez társított folyamatok kereséséhez, majd Enter-PSHostProcess a folyamathoz csatolandó azonosító paraméterben megadott folyamatazonosítóval, majd Get-Runspace a PowerShell-gazdagép folyamatán belüli futtatóterek listázásával szeretne megkeresni.

Miután kiválasztotta a hibakereséshez használt futtatóteret, ha a futtatótér jelenleg parancsot vagy szkriptet futtat, vagy ha a szkript leállt egy töréspontnál, a PowerShell megnyitja a futtató tér távoli hibakereső munkamenetét. A futtatókörnyezet szkriptjének hibakeresése ugyanúgy történik, mint a távoli munkamenet-szkriptek hibakeresése.

Csak akkor csatolhat PowerShell-gazdagépfolyamathoz, ha Ön rendszergazda a folyamatot futtató számítógépen, vagy a hibakereséshez használni kívánt szkriptet futtatja. Emellett nem adhatja meg az aktuális PowerShell-munkamenetet futtató gazdafolyamatot. Csak olyan gazdagépfolyamatot adhat meg, amely egy másik PowerShell-munkamenetet futtat.

Példák

1. példa: Távoli futtatótér hibakeresése

Ebben a példában egy távoli számítógépen megnyitott runspace(WS10TestServer) hibakeresését végezheti el. A parancs első sorában a távoli számítógépen fut Get-Process , és szűr a Windows PowerShell-gazdagépfolyamatokra. Ebben a példában az 1152-as folyamatazonosítót, a Windows PowerShell I Standard kiadás gazdagépfolyamatot szeretné hibakeresésre használni.

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:\> >

A második parancsban egy távoli munkamenet megnyitásához fut Enter-PSSession a WS10TestServeren. A harmadik parancsban a távoli kiszolgálón Enter-PSHostProcessfutó Windows PowerShell I Standard kiadás gazdafolyamathoz csatolja, és megadja az első parancsban, az 1152-ben beszerzett gazdafolyamat azonosítóját.

A negyedik parancsban az 1152-ben futtatott folyamatazonosítóhoz elérhető futtatótereket sorolja fel Get-Runspace. Jegyezze fel a Foglalt futtatótér azonosítószámát; egy olyan szkriptet futtat, amelyet hibakeresésre szeretne használni.

Az utolsó parancsban egy szkriptet TestWFVar1.ps1futtató megnyitott runspace hibakeresését kezdi el, a futtatással Debug-Runspace, és a 2. azonosítójú azonosító alapján azonosítja a futtatóteret az Azonosító paraméter hozzáadásával. Mivel van egy töréspont a szkriptben, megnyílik a hibakereső.

Paraméterek

-BreakAll

Lehetővé teszi, hogy azonnal megszakadjon az aktuális helyen, amikor a hibakereső csatlakozik.

Ez a paraméter a PowerShell 7.2-ben lett hozzáadva.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Jóváhagyást kér a parancsmag futtatása előtt.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:True
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Id

Egy futtatótér azonosítószámát adja meg. Futtathat Get-Runspace a futtatókörnyezet azonosítóinak megjelenítéséhez.

Type:Int32
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-InstanceId

A futtatókörnyezetet a példányazonosítója alapján adja meg, amely a futtatással Get-Runspacemegjeleníthető GUID.

Type:Guid
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Name

Egy futtatóteret a neve alapján határoz meg. Futtathat Get-Runspace a futtatóterek nevének megjelenítéséhez.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Runspace

Runspace objektumot ad meg. A paraméter értékének megadásának legegyszerűbb módja egy olyan változó megadása, amely egy szűrt Get-Runspace parancs eredményeit tartalmazza.

Type:Runspace
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Bemutatja, mi történne a parancsmag futtatásakor. A parancsmag nem fut.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:True
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Bevitelek

Runspace

A parancsok eredményeit Get-Runspace erre a parancsmagra irányíthatja.

Jegyzetek

Debug-Runspace Megnyitott állapotban lévő runspace-eken működik. Ha egy runspace-állapot a Megnyitásról egy másik állapotra változik, a rendszer automatikusan eltávolítja a futtató listában. A futtató tér csak akkor lesz hozzáadva a futó listához, ha megfelel az alábbi feltételeknek.

  • Ha az Invoke-Command parancsból származik; azaz guid azonosítóval Invoke-Command rendelkezik.
  • Ha a forrásból Debug-Runspaceszármazik, akkor guid azonosítóval rendelkezik Debug-Runspace .
  • Ha PowerShell-munkafolyamatból származik, és a munkafolyamat-feladat azonosítója megegyezik az aktuális aktív hibakereső munkafolyamat-feladatazonosítójával.