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 type

Bu 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