Get-PSCallStack

Menampilkan tumpukan panggilan saat ini.

Sintaks

Get-PSCallStack []

Deskripsi

Get-PSCallStack Cmdlet 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 Get-PSCallStack perintah 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 Get-PSCallStack cmdlet 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 Set-PSBreakpoint cmdlet untuk mengatur titik henti pada My-Alias fungsi. Perintah ketiga menggunakan My-Alias fungsi untuk mendapatkan semua alias dalam sesi saat ini untuk Get-Content cmdlet .

Debugger berhenti pada panggilan fungsi. Dua perintah (s) berturut-turut step-into mulai menjalankan baris fungsi menurut baris. Kemudian, Get-PSCallStack perintah digunakan untuk mengambil tumpukan panggilan.

Perintah akhir adalah Step-Out perintah (o) yang keluar dari debugger dan terus mengeksekusi skrip hingga selesai.

Input

None

Anda tidak dapat menyalurkan objek ke cmdlet ini.

Output

CallStackFrame

Get-PSCallStack mengembalikan objek yang mewakili item dalam tumpukan panggilan.