Partager via


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

CallStackFrame

Get-PSCallStack retourne un objet qui représente les éléments de la pile des appels.