Udostępnij za pomocą


Get-PSCallStack

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

Składnia

Default (Domyślna)

Get-PSCallStack

Opis

Polecenie cmdlet Get-PSCallStack wyświetla aktualny 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ć polecenie Get-PSCallStack w debugerze, wpisz k lub Get-PSCallStack.

Przykłady

Przykład 1: Pobierz stos 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 cmdletu Get-PSCallStack, aby wyświetlić stos wywołań dla My-Alias, prostej funkcji, która zwraca aliasy dla nazwy cmdletu.

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

Debugger zatrzymuje się przy wywołaniu funkcji. Dwa kolejne polecenia step-into (s) zaczynają wykonywać funkcję w sposób liniowy, wiersz po wierszu. Następnie polecenie Get-PSCallStack służy do pobierania stosu wywołań.

Ostatnim poleceniem jest polecenie Step-Out (o), które zakończa działanie debugera i kontynuuje wykonywanie skryptu aż do jego zakończenia.

Dane wejściowe

None

Nie można przekazywać obiektów do tego cmdletu.

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 Get-PSCallStack:

  • Wszystkie platformy:
    • gcs