Aracılığıyla paylaş


Get-PSCallStack

Geçerli çağrı yığınını görüntüler.

Syntax

Default (Varsayılan)

Get-PSCallStack

Description

Get-PSCallStack cmdlet'i geçerli çağrı yığınını görüntüler.

PowerShell hata ayıklayıcısı ile kullanılmak üzere tasarlanmış olsa da, çağrı yığınını hata ayıklayıcının dışındaki bir betikte veya işlevde görüntülemek için bu cmdlet'i kullanabilirsiniz.

Hata ayıklayıcıda bir Get-PSCallStack komutu çalıştırmak için k veya Get-PSCallStackyazın.

Örnekler

Örnek 1: İşlevin çağrı yığınını alma

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

Bu komut, cmdlet adının diğer adlarını alan basit bir işlev olan My-Alias için çağrı yığınını görüntülemek için Get-PSCallStack cmdlet'ini kullanır.

İlk komut, PowerShell isteminde işleve girer. İkinci komut, My-Alias işlevinde bir kesme noktası ayarlamak için Set-PSBreakpoint cmdlet'ini kullanır. Üçüncü komut, Get-Content cmdlet'i için geçerli oturumdaki tüm diğer adları almak için My-Alias işlevini kullanır.

Hata ayıklayıcısı işlev çağrısında araya dalar. ardışık iki adım adım (s) komut, işlev satır satır yürütmeye başlar. Ardından, çağrı yığınını almak için bir Get-PSCallStack komutu kullanılır.

Son komut, hata ayıklayıcıdan çıkan ve betiği tamamlamaya devam eden bir Step-Out komutudur (o).

Girişler

None

Nesneleri bu cmdlet'e yöneltemezsiniz.

Çıkışlar

CallStackFrame

Get-PSCallStack, çağrı yığınındaki öğeleri temsil eden bir nesne döndürür.