Get-PSCallStack
Visar den aktuella anropsstacken.
Syntax
Get-PSCallStack []
Description
Cmdleten Get-PSCallStack
visar den aktuella anropsstacken.
Även om den är utformad för att användas med Windows PowerShell-felsökningsprogrammet kan du använda den här cmdleten för att visa anropsstacken i ett skript eller en funktion utanför felsökningsprogrammet.
Om du vill köra ett Get-PSCallStack
kommando i felsökningsprogrammet skriver du k
eller Get-PSCallStack
.
Exempel
Exempel 1: Hämta anropsstacken för en funktion
PS C:\> function my-alias {
$p = $args[0]
Get-Alias | where {$_.definition -like "*$p"} | format-table definition, name -auto
}
PS C:\ps-test> Set-PSBreakpoint -Command my-alias
Command : my-alias
Action :
Enabled : True
HitCount : 0
Id : 0
Script : prompt PS C:\> my-alias Get-Content
Entering debug mode. Use h or ? for help.
Hit Command breakpoint on 'prompt:my-alias'
my-alias get-content
[DBG]: PS C:\ps-test> s
$p = $args[0]
DEBUG: Stepped to ': $p = $args[0] '
[DBG]: PS C:\ps-test> s
get-alias | Where {$_.Definition -like "*$p*"} | format-table Definition,
[DBG]: PS C:\ps-test>get-pscallstack
Name CommandLineParameters UnboundArguments Location
---- --------------------- ---------------- --------
prompt {} {} prompt
my-alias {} {get-content} prompt
prompt {} {} prompt
PS C:\> [DBG]: PS C:\ps-test> o
Definition Name
---------- ----
Get-Content gc
Get-Content cat
Get-Content type
Det här kommandot använder cmdleten Get-PSCallStack
för att visa anropsstacken för My-Alias
, en enkel funktion som hämtar aliasen för ett cmdlet-namn.
Det första kommandot anger funktionen i Windows PowerShell-prompten. Det andra kommandot använder cmdleten Set-PSBreakpoint
för att ange en brytpunkt för My-Alias
funktionen. Det tredje kommandot använder My-Alias
funktionen för att hämta alla alias i den aktuella sessionen för cmdleten Get-Content
.
Felsökningsprogrammet bryter sig in vid funktionsanropet. Två på varandra följande step-into
(s
) kommandon börjar köra funktionen rad för rad. Sedan används ett Get-PSCallStack
kommando för att hämta anropsstacken.
Det sista kommandot är ett Step-Out
kommando (o
) som avslutar felsökningsprogrammet och fortsätter att köra skriptet till slutförande.
Indata
None
Du kan inte skicka objekt till den här cmdleten.
Utdata
Den här cmdleten returnerar ett objekt som representerar objekten i anropsstacken.
Kommentarer
Windows PowerShell innehåller följande alias för Get-PSCallStack
:
gcs