Get-PSCallStack
Affiche la pile des appels actuelle.
Syntaxe
Get-PSCallStack []
Description
L’applet de commande Get-PSCallStack
affiche la pile des appels actuelle.
Bien qu’elle soit conçue pour être utilisée avec le débogueur Windows PowerShell, vous pouvez utiliser cette applet de commande pour afficher la pile des appels dans un script ou une fonction en dehors du débogueur.
Pour exécuter une commande Get-PSCallStack
dans le débogueur, tapez k
ou Get-PSCallStack
.
Exemples
Exemple 1 : Obtenir la pile des appels pour une fonction
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
Cette commande utilise l’applet de commande Get-PSCallStack
pour afficher la pile des appels pour My-Alias
, une fonction simple qui obtient les alias d’un nom d’applet de commande.
La première commande entre la fonction à l’invite Windows PowerShell. La deuxième commande utilise l’applet de commande Set-PSBreakpoint
pour définir un point d’arrêt sur la fonction My-Alias
. La troisième commande utilise la fonction My-Alias
pour obtenir tous les alias de la session active pour l’applet de commande Get-Content
.
Le débogueur s’arrête au niveau de l’appel de fonction. Deux commandes de step-into
consécutives (s
) commencent à exécuter la ligne de fonction par ligne. Ensuite, une commande Get-PSCallStack
est utilisée pour récupérer la pile des appels.
La commande finale est une commande Step-Out
(o
) qui quitte le débogueur et poursuit l’exécution du script à la fin.
Entrées
None
Vous ne pouvez pas diriger les objets vers cette applet de commande.
Sorties
Get-PSCallStack
retourne un objet qui représente les éléments de la pile des appels.