Compartir a través de


Get-PSCallStack

Muestra la pila de llamadas actual.

Sintaxis

Get-PSCallStack []

Description

El Get-PSCallStack cmdlet muestra la pila de llamadas actual.

Aunque está diseñado para usarse con el depurador de Windows PowerShell, este cmdlet se puede usar para mostrar la pila de llamadas en un script o en una función fuera del depurador.

Para ejecutar un Get-PSCallStack comando mientras se encuentra en el depurador, escriba k o Get-PSCallStack.

Ejemplos

Ejemplo 1: Obtención de la pila de llamadas para una función

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

Este comando usa el Get-PSCallStack cmdlet para mostrar la pila de llamadas para My-Alias, una función sencilla que obtiene los alias de un nombre de cmdlet.

El primer comando escribe la función en el símbolo del sistema de Windows PowerShell. El segundo comando usa el Set-PSBreakpoint cmdlet para establecer un punto de interrupción en la My-Alias función . El tercer comando usa la My-Alias función para obtener todos los alias de la sesión actual del Get-Content cmdlet.

El depurador se interrumpirá en la llamada de función. Dos comandos consecutivos step-into (s) comienzan a ejecutar la línea de función por línea. A continuación, se usa un Get-PSCallStack comando para recuperar la pila de llamadas.

El comando final es un Step-Out comando (o) que sale del depurador y continúa ejecutando el script hasta su finalización.

Entradas

None

No se pueden canalizar objetos a este cmdlet.

Salidas

CallStackFrame

Este cmdlet devuelve un objeto que representa los elementos de la pila de llamadas.

Notas

PowerShell incluye los siguientes alias para Get-PSCallStack:

  • Todas las plataformas:
    • gcs