Get-PSCallStack

Wyświetla bieżący stos wywołań.

Składnia

Get-PSCallStack []

Opis

Polecenie Get-PSCallStack cmdlet wyświetla bieżący stos wywołań.

Chociaż jest on przeznaczony do używania z debugerem programu Windows PowerShell, można użyć tego polecenia cmdlet do wyświetlania stosu wywołań w skrycie lub funkcji poza debugerem.

Aby uruchomić Get-PSCallStack polecenie w debugerze, wpisz k lub Get-PSCallStack.

Przykłady

Przykład 1. Pobieranie stosu wywołań dla funkcji

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

To polecenie używa Get-PSCallStack polecenia cmdlet do wyświetlania stosu wywołań dla My-Alias, prostej funkcji, która pobiera aliasy dla nazwy polecenia cmdlet.

Pierwsze polecenie wprowadza funkcję w wierszu polecenia programu Windows PowerShell. Drugie polecenie używa Set-PSBreakpoint polecenia cmdlet, aby ustawić punkt przerwania My-Alias w funkcji. Trzecie polecenie używa My-Alias funkcji, aby uzyskać wszystkie aliasy w bieżącej sesji dla Get-Content polecenia cmdlet.

Debuger przerywa działanie wywołania funkcji. Dwa kolejne step-into (s) polecenia zaczynają wykonywać wiersz funkcji według wiersza. Następnie polecenie Get-PSCallStack służy do pobierania stosu wywołań.

Ostatnie polecenie to Step-Out polecenie (o), które kończy debuger i kontynuuje wykonywanie skryptu do ukończenia.

Dane wejściowe

None

Nie można potokować obiektów do tego polecenia cmdlet.

Dane wyjściowe

CallStackFrame

To polecenie cmdlet zwraca obiekt reprezentujący elementy w stosie wywołań.

Uwagi

Program PowerShell zawiera następujące aliasy dla programu Get-PSCallStack:

  • Wszystkie platformy:
    • gcs