Zeigt die aktuelle Aufrufliste an. (Get-PSCallStack)
NAME
Get-PSCallStack
# ÜBERSICHT
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 folgende allgemeine Parameter: "Verbose", "Debug",
"ErrorAction", "ErrorVariable", "WarningAction", "WarningVariable",
"OutBuffer" und "OutVariable". Weitere Informationen
erhalten Sie mit dem Befehl "get-help about_commonparameters".
# 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.
# HINWEISE
# 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.
VERWANDTE LINKS
Online version: http://go.microsoft.com/fwlink/?LinkID=113326 (möglicherweise auf Englisch)
about_Debuggers
Set-PSBreakpoint
Get-PSBreakpoint
Enable-PSBreakpoint
Disable-PSBreakpoint
Remove-PSBreakpoint
C:\Windows>powershell get-help Send-MailMessage -full
ColorConsole [Version 1.7.1000] PowerShell 2.0-Export
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2014 Microsoft Corporation.