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 |
None 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