Bagikan melalui


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