Get-PSCallStack (Microsoft.PowerShell.Utility)
Get-PSCallStack
- Modül:
- Microsoft.PowerShell.Utility
Geçerli çağrı yığınını görüntüler.
Sözdizimi
Get-PSCallStack [] Tanım
Get-PSCallStack cmdlet'i geçerli çağrı yığınını görüntüler.
Her ne kadar Windows PowerShell hata ayıklayıcısıyla kullanılmak üzere tasarlanmış olsa da, bu cmdlet'i hata ayıklayıcının dışındaki bir komut dosyasında veya işlevde çağrı yığınını görüntülemek için kullanabilirsiniz.
Hata ayıklayıcıdayken Get-PSCallStack komutunu çalıştırmak için k veya Get-PSCallStack yazın.
Örnekler
Örnek 1: Bir işlev için ç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 typeBu komut, bir cmdlet adının takma adlarını alan basit bir işlev olan My-Alias çağrı yığınını görüntülemek için Get-PSCallStack cmdlet'ini kullanır.
İlk komut, Windows 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 takma adları almak üzere My-Alias işlevini kullanır.
Hata ayıklayıcı işlev çağrısında devreye girer. Ardışık iki adım adım (s) komutu, işlevi satır satır yürütmeye başlar. Daha sonra çağrı yığınını almak için Get-PSCallStack komutu kullanılır.
Son komut, hata ayıklayıcıdan çıkan ve betiği tamamlanana kadar çalıştırmaya devam eden bir Adım Dışı komutudur (o).
Girişler
Yok
Nesneleri bu cmdlet'e aktaramazsınız.
Çıkışlar
CallStackFrame
Bu cmdlet, çağrı yığınındaki öğeleri temsil eden bir nesne döndürür.
Notlar
PowerShell, Get-PSCallStack için aşağıdaki takma adları içerir:
Tüm platformlar:
gcs