Get-PSCallStack
Muestra la pila de llamadas actual.
Sintaxis
Get-PSCallStack []
Description
El cmdlet Get-PSCallStack
muestra la pila de llamadas actual.
Aunque está diseñado para usarse con el depurador de Windows PowerShell, puede usar este cmdlet para mostrar la pila de llamadas en un script o una función fuera del depurador.
Para ejecutar un comando de Get-PSCallStack
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 cmdlet Get-PSCallStack
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 cmdlet Set-PSBreakpoint
para establecer un punto de interrupción en la función My-Alias
. El tercer comando usa la función My-Alias
para obtener todos los alias de la sesión actual del cmdlet Get-Content
.
El depurador se interrumpe 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 comando Get-PSCallStack
para recuperar la pila de llamadas.
El comando final es un comando Step-Out
(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
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