Debug-Runspace

Elindít egy interaktív hibakeresési munkamenetet egy runspace használatával.

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 interaktív hibakeresési munkamenetet indít egy helyi vagy távoli aktív runspace használatával. Megkeresheti a hibakereséshez használni kívánt runspace-t. Ehhez először futtassa Get-Process a PowerShellhez társított folyamatokat, majd Enter-PSHostProcess az Azonosító paraméterben megadott folyamatazonosítóval csatolja a folyamatot, majd Get-Runspace listázza a PowerShell-gazdagép folyamatán belüli runspace-eket.

Miután kiválasztott egy hibakeresési runspace-t, ha a runspace parancsot vagy szkriptet futtat, vagy ha a szkript egy töréspontnál leállt, a PowerShell megnyit egy távoli hibakereső munkamenetet a runspace számára. A runspace szkript hibakeresése ugyanúgy történik, mint a távoli munkamenet-szkriptek hibakeresése.

Csak akkor csatolhat PowerShell-gazdafolyamathoz, 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 gazdafolyamatot adhat meg, amely más PowerShell-munkamenetet futtat.

Példák

1. példa: Távoli runspace hibakeresése

Ebben a példában egy távoli számítógépen( WS10TestServer) megnyitott runspace hibakeresését hajtja végre. A parancs első sorában futtatja Get-Process a távoli számítógépet, és szűri Windows PowerShell gazdafolyamatokat. Ebben a példában az 1152-ben, az ISE-gazdagép Windows PowerShell folyamatazonosítójában szeretne hibakeresést végezni.

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 parancs futtatásával Enter-PSSession megnyit egy távoli munkamenetet a WS10TestServer kiszolgálón. A harmadik parancsban a távoli kiszolgálón Enter-PSHostProcessfutó Windows PowerShell ISE-gazdafolyamathoz csatolja, és megadja az első parancsban (1152) beszerzett gazdafolyamat azonosítóját.

A negyedik parancsban az 1152-ös folyamatazonosítóhoz elérhető runspace-eket listázhatja a futtatásukkal Get-Runspace. Jegyezze fel a Foglalt runspace azonosítószámát; A egy szkriptet futtat, amelyet hibakeresésre szeretne használni.

Az utolsó parancsban elkezdi a szkriptet futtató megnyitott runspace hibakeresését, TestWFVar1.ps1majd futtatja Debug-Runspace, majd az Azonosító paraméter hozzáadásával azonosítja a futtatóteret annak azonosítója (2) alapján. Mivel a szkriptben töréspont található, megnyílik a hibakereső.

Paraméterek

-BreakAll

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

Type:SwitchParameter
Position:Named
Default value:None
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
Accept pipeline input:False
Accept wildcard characters:False

-Id

Egy runspace azonosítószámát adja meg. Futtathatja Get-Runspace a runspace-azonosítók megjelenítéséhez.

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

-InstanceId

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

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

-Name

A futtatókörnyezetet a neve alapján határozza meg. Futtatáskor Get-Runspace megjelenítheti a futtatókörnyezetek nevét.

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

-Runspace

Egy 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
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
Accept pipeline input:False
Accept wildcard characters:False

Bevitelek

Runspace

A parancsok eredményeit Get-Runspace átadhatja a Debug-Runspace-nek.

Jegyzetek

Debug-Runspace A a megnyitott állapotú runspace-eken működik. Ha egy runspace állapota Megnyitottról másik állapotra változik, a rendszer automatikusan eltávolítja a futtatóteret a futó listából. A rendszer csak akkor ad hozzá egy futtatóteret a futó listához, ha az megfelel az alábbi feltételeknek.

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