Get-PSCallStack
Menampilkan tumpukan panggilan saat ini.
Sintaks
Default (Default)
Get-PSCallStack
Deskripsi
Cmdlet Get-PSCallStack menampilkan tumpukan panggilan saat ini.
Meskipun dirancang untuk digunakan dengan debugger Windows PowerShell, Anda dapat menggunakan cmdlet ini untuk menampilkan tumpukan panggilan dalam skrip atau fungsi di luar debugger.
Untuk menjalankan perintah Get-PSCallStack saat berada di debugger, ketik k atau Get-PSCallStack.
Contoh
Contoh 1: Mendapatkan tumpukan panggilan untuk fungsi
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
Perintah ini menggunakan cmdlet Get-PSCallStack untuk menampilkan tumpukan panggilan untuk My-Alias, fungsi sederhana yang mendapatkan alias untuk nama cmdlet.
Perintah pertama memasukkan fungsi pada prompt Windows PowerShell. Perintah kedua menggunakan cmdlet Set-PSBreakpoint untuk mengatur titik henti pada fungsi My-Alias. Perintah ketiga menggunakan fungsi My-Alias untuk mendapatkan semua alias dalam sesi saat ini untuk cmdlet Get-Content.
Debugger berhenti pada panggilan fungsi. Dua perintah step-into berturut-turut (s) mulai mengeksekusi baris fungsi menurut baris. Kemudian, perintah Get-PSCallStack digunakan untuk mengambil tumpukan panggilan.
Perintah akhir adalah perintah Step-Out (o) yang keluar dari debugger dan terus menjalankan skrip ke penyelesaian.
Input
None
Anda tidak dapat menyalurkan objek ke cmdlet ini.
Output
CallStackFrame
Cmdlet ini mengembalikan objek yang mewakili item dalam tumpukan panggilan.
Catatan
PowerShell menyertakan alias berikut untuk Get-PSCallStack:
- Semua platform:
gcs