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




Inhaltsverzeichnis