Get-PSCallStack
Zeigt die aktuelle Aufrufliste an.
Syntax
Get-PSCallStack [<CommonParameters>]
Beschreibung
Mit dem Cmdlet "Get-PSCallStack" wird die aktuelle Aufrufliste angezeigt.
Dieses Cmdlet ist zwar für die Verwendung mit dem Windows PowerShell-Debugger vorgesehen, jedoch können Sie mit ihm auch außerhalb des Debuggers die Aufrufliste in einem Skript oder einer Funktion anzeigen.
Um im Debugger den Befehl "Get-PSCallStack" auszuführen, geben Sie "k" oder "get-pscallstack" ein.
Parameter
<CommonParameters>
Dieses Cmdlet unterstützt die folgenden allgemeinen Parameter: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer und -OutVariable. Weitere Informationen finden Sie unter about_Commonparameters.
Eingaben und Ausgaben
Der Eingabetyp ist der Typ der Objekte, die über die Pipeline an das Cmdlet übergeben werden können. Der Rückgabetyp ist der Typ der Objekte, die das Cmdlet zurückgibt.
Eingaben |
Keiner Objekte können nicht über die Pipeline an dieses Cmdlet übergeben werden. |
Ausgaben |
System.Management.Automation.CallStackFrame Get-PSCallStack gibt ein Objekt zurück, das die Elemente in der Aufrufliste darstellt. |
Beispiel 1
C:\PS>function my-alias {
$p = $args[0]
get-alias | where {$_.definition -like "*$p"} | ft 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:\ps-test> 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*"} | ft Definition,
[DBG]: PS C:\ps-test>get-pscallstack
Name CommandLineParameters UnboundArguments Location
---- --------------------- ---------------- --------
prompt {} {} prompt
my-alias {} {get-content} prompt
prompt {} {} prompt
[DBG]: PS C:\ps-test> o
Definition Name
---------- ----
Get-Content gc
Get-Content cat
Get-Content type
Beschreibung
-----------
In diesem Befehl wird das Cmdlet "Get-PSCallStack" verwendet, um die Aufrufliste für My-Alias anzuzeigen. Dies ist eine einfache Funktion, mit der die Aliase für einen Cmdlet-Namen abgerufen werden.
Im ersten Befehl wird die Funktion an der Windows PowerShell-Eingabeaufforderung eingegeben. Im zweiten Befehl wird ein Haltepunkt für die My-Alias-Funktion mit dem Cmdlet "Set-PSBreakpoint" festgelegt. Im dritten Befehl werden alle Aliase in der aktuellen Sitzung für das Cmdlet "Get-Content" mit der My-Alias-Funktion abgerufen.
Die Ausführung des Debuggers wird beim Funktionsaufruf unterbrochen. Der Befehl "step-into" (s) wird zweimal hintereinander aufgerufen, um die Funktion Zeile für Zeile auszuführen. Anschließend wird die Aufrufliste mit dem Befehl "Get-PSCallStack" abgerufen.
Der letzte Befehl ist der Befehl "Step-Out" (o), mit dem der Debugger beendet und die Ausführung des Skripts abgeschlossen wird.
Siehe auch
Konzepte
about_Debuggers
Set-PSBreakpoint
Get-PSBreakpoint
Enable-PSBreakpoint
Disable-PSBreakpoint
Remove-PSBreakpoint