Freigeben über


Get-PSCallStack

Zeigt die aktuelle Aufrufliste an.

Syntax

Get-PSCallStack []

Beschreibung

Das Get-PSCallStack Cmdlet zeigt den aktuellen Aufrufstapel an.

Obwohl es nicht für die Verwendung mit dem Windows PowerShell-Debugger ausgelegt ist, können Sie dieses Cmdlet verwenden, um die Aufrufliste in einem Skript oder einer Funktion außerhalb des Debuggers anzuzeigen.

Geben Sie einen Befehl ein, um einen Get-PSCallStack Befehl im Debugger auszuführen, oder geben Sie k diesen Get-PSCallStackein.

Beispiele

Beispiel 1: Abrufen des Aufrufstapels für eine 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

Dieser Befehl verwendet das Get-PSCallStack Cmdlet zum Anzeigen des Aufrufstapels für My-Aliaseine einfache Funktion, die die Aliase für einen Cmdlet-Namen abruft.

Der erste Befehl gibt die Funktion an der Windows PowerShell-Eingabeaufforderung ein. Der zweite Befehl verwendet das Set-PSBreakpoint Cmdlet, um einen Haltepunkt für die My-Alias Funktion festzulegen. Der dritte Befehl verwendet die My-Alias Funktion, um alle Aliase in der aktuellen Sitzung für das Get-Content Cmdlet abzurufen.

Der Debugger unterbricht den Funktionsaufruf. Zwei aufeinander folgende step-into (s) Befehle beginnen mit der Ausführung der Funktionszeile nach Zeile. Anschließend wird ein Get-PSCallStack Befehl zum Abrufen des Aufrufstapels verwendet.

Der letzte Befehl ist ein Step-Out Befehl (o), der den Debugger beendet und das Ausführen des Skripts bis zum Abschluss fortsetzt.

Eingaben

None

Sie können keine Objekte an dieses Cmdlet weiterleiten.

Ausgaben

CallStackFrame

Dieses Cmdlet gibt ein Objekt zurück, das die Elemente im Aufrufstapel darstellt.

Hinweise

PowerShell enthält die folgenden Aliase für Get-PSCallStack:

  • Alle Plattformen:
    • gcs