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 oder ein, k
Get-PSCallStack
um einen Get-PSCallStack
Befehl im Debugger auszuführen.
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, um den Aufrufstapel für My-Alias
anzuzeigen, eine einfache Funktion, die die Aliase für einen Cmdletnamen 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. Mit zwei aufeinanderfolgenden step-into
(s
) Befehlen wird die Funktion Zeile für Zeile ausgeführt. Anschließend wird ein Get-PSCallStack
Befehl verwendet, um den Aufrufstapel abzurufen.
Der letzte Befehl ist ein Step-Out
Befehl (o
), der den Debugger beendet und das Skript bis zum Abschluss weiter ausführt.
Eingaben
None
Sie können keine Objekte an dieses Cmdlet übergeben.
Ausgaben
Dieses Cmdlet gibt ein Objekt zurück, das die Elemente in der Aufrufliste darstellt.
Hinweise
PowerShell enthält die folgenden Aliase für Get-PSCallStack
:
- Alle Plattformen:
gcs