Get-PSCallStack
Exibe a pilha de chamadas atual.
Sintaxe
Get-PSCallStack []
Description
O cmdlet Get-PSCallStack
exibe a pilha de chamadas atual.
Embora ele tenha sido projetado para ser usado com o depurador do Windows PowerShell, você pode usar esse cmdlet para exibir a pilha de chamadas em um script ou função fora do depurador.
Para executar um comando Get-PSCallStack
enquanto estiver no depurador, digite k
ou Get-PSCallStack
.
Exemplos
Exemplo 1: Obter a pilha de chamadas para uma função
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
Esse comando usa o cmdlet Get-PSCallStack
para exibir a pilha de chamadas para My-Alias
, uma função simples que obtém os aliases de um nome de cmdlet.
O primeiro comando insere a função no prompt do Windows PowerShell. O segundo comando usa o cmdlet Set-PSBreakpoint
para definir um ponto de interrupção na função My-Alias
. O terceiro comando usa a função My-Alias
para obter todos os aliases na sessão atual para o cmdlet Get-Content
.
O depurador é interrompido na chamada de função. Dois comandos step-into
consecutivos (s
) começam a executar a linha de função por linha. Em seguida, um comando Get-PSCallStack
é usado para recuperar a pilha de chamadas.
O comando final é um comando Step-Out
(o
) que sai do depurador e continua executando o script até a conclusão.
Entradas
None
Você não pode redirecionar objetos para este cmdlet.
Saídas
Esse cmdlet retorna um objeto que representa os itens na pilha de chamadas.
Observações
O PowerShell inclui os seguintes aliases para Get-PSCallStack
:
- Todas as plataformas:
gcs