Compartilhar via


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

CallStackFrame

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